Linux学习-二级指针的使用

目录

###指针传参时要用二级指针

###函数体内部想要修改函数外部指针变量值的时候需要使用二级指针(指针变量的地址)

###指针传参时要用二级指针

char *str[5];

int Fun(char **ppstr,int len);

###函数体内部想要修改函数外部指针变量值的时候需要使用二级指针(指针变量的地址)

下面图1代码不会打印出hello world因为是值传递,而不是地址传递。是把空的指针pret传给了ptmp;ptmp会随函数结束被回收;

因此必须要取地址才可以成功的打印;如图2

当函数体内部想要修改函数外部指针变量值的时候需要使用二级指针

当函数体内部想要修改函数外部的值的时候需要使用指针地址

图解如图3,图4

如下图为图1的代码说明,右边函数体中只是把字符串的首地址给了ptmp,当函数体销毁的时候pret还是为NULL;

如下图为图2的代码说明,右边函数体中把字符串的首地址给了prmp中存的指针指向的空间,也就pret;所以当右边函数销毁时,pret仍然等于字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值