引入: 在主函数中只是定义了一个空指针p,如何才能通过子函数的调用来完成修改p的内容
示例代码1:
#include<stdio.h>
#include<stdlib.h>
// 因为刚开始p什么都没有指向(但是p是占有一片内存空间的,只是其中的内容为NULL),所以直接把p的内容传进子函数赋值是没有意义的,相当于在子函数中改变了指向了一片新的存储空间,修改的是新的存储空间的内容,主函数中p指向的内容并没有改变(相当于有创建了一个指针修改了不相关内存的内容)
// 解决方法之一是:首先在主函数内开辟一块动态存储空间首地址赋给p,然后再对p指向的内容进行修改即可
void fun(int* p)
{
p = (int*)malloc(sizeof(int));
// 开始的p没有指向所以此处就给他分配了一片存储空间,并在此快存储空间