指针的指针有什么用

指针的用处我知道

比如 int p[3];
int* x=&p
x作为p的索引

那么指针的指针呢,既然它出现在c中肯定有用,可是我实在不知道有什么用,难道对指针进行索引,索引的索引?


答:

我给楼主一个最直接的理由:那就是如果你希望在一个函数的参数中改变一个指针的值,你就只能传这个指针的指针给这个函数。

比如有int *p;

而你想在函数f中对其增量,就只好:

void f(int **pp)
{
  *pp++;
}
 
知乎回答:
1、最简单的一个例子,当你想动态分配内存给二位数组(矩阵,表,等等)的时候,你就可以使用**了。比如想创建一个n x m的int矩阵,行数n和列数m由用户输入,你就可以使用int**来存储这个二维数组,然后再动态分配内存给这个数组。

2、比较明显的一个作用,就是减少函数传参,不然还需要传一个*index,来指示函数调用后的内存偏移量,传**进去,函数调用后,你的指针就自动指向偏移后的地址了。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值