int main(int argc,char **argv) { int n = 10; int *ptr = &n; int **ptr2ptr = &ptr; function(&ptr2ptr); printf("%d",n); return 0;}voID function(int *num) { *num = 30; }解决方法 您实际上是将三重间接整数传递给函数函数. & ptr2ptr是指向整数指针的指针的地址.在从main调用之前,您没有定义也没有声明函数.它在C99中是不正确的,但在ANSI C中受支持并隐式声明函数以获取任何类型的任意数量的参数并返回int.您应该在main之前移动函数的定义并将其更改为:
voID function(int ***num) { ***num = 30; }总结
以上是内存溢出为你收集整理的c – 将双指针作为参数传递全部内容,希望文章能够帮你解决c – 将双指针作为参数传递所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)