
正文
C语言中函数的传指针调用 c语言传入指针
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言函数指针调用
void point(char *p){ p+=3; } //加上void比较好
char b[4]={'a','b','c','d'}, *p=b; //写在同一行,p是char*的
point(p);// 这里传递的是指针,在函数里面改指针是“临时变量”,不是局部变量
//临时对象不会被记录,如果改p指向的内存就可以被记录。
printf("%c\n", *p); // 输出结果为a,因为p是扔指向b[]其实位置
答案为a
相关问答
Q1: C语言调用函数指针
并不是不规范的问题,你子程序写法只能在子程序中输出正确的数据,而在主函数中无法得到交换过的x和y的值。参考程序运用指针让子程序去读写a和b的值,在子程序执行完成后,a和b的值确实得到了交换。
你的程序中子程序采用的不是指针类型参数,这样子程序无法将交换过后的值传回来。
Q2: 有关于c语言中函数调用和指针
函数参数用值传递时,函数的形参只不过是实参的拷贝而已。也就是说,1中调用swap函数时,内存中实际上a,b,x,y四个变量都存在,x是a的拷贝,y是b的拷贝,对x,y的值进行交换,a,b的值并未交换。
而2中用了指针传递,swap中的a,b,实际上是指向了main中的a,b。这个swap中交换的是a,b指向的变量的值,也就是交换了main中的a,b的值。
C语言中函数的传指针调用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言传入指针、C语言中函数的传指针调用的信息别忘了在本站进行查找喔。






