c – 将双指针作为参数传递

c – 将双指针作为参数传递,第1张

概述我想用双指针.但是,请告诉我这里做错了什么.调用函数后,值n不会更新.我期待30但仍然看到10. int main(int argc, char **argv) { int n = 10; int *ptr = &n; int **ptr2ptr = &ptr; function(&ptr2ptr); printf("%d", n); return 我想用双指针.但是,请告诉我这里做错了什么.调用函数后,值n不会更新.我期待30但仍然看到10.

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 – 将双指针作为参数传递所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存