关于空指针做函数参数和多级指针的使用问题

引入: 在主函数中只是定义了一个空指针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没有指向所以此处就给他分配了一片存储空间,并在此快存储空间
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值