关于指针作为形参时,值是如何传递和改变的。
当调用函数向被调用函数传递一个指针值,而在被调用函数中对这个指针所表示的地址的值进行重新赋值将会改变调用函数中的值。
#include<stdio.h>
voidfoo(char*p)
{
p="world\n\0";
printf("%s",p);
}
voidmain()
{
char*p="hello,world\n\0";
printf("%s",p);
foo(p);
}
编译并且输出:
xiaowen@hello-laptop:~/test/test-c$gccface2.c-oface2
xiaowen@hello-laptop:~/test/test-c$./face2
hello,world
world
本文探讨了在C语言中如何通过指针作为函数参数来修改原始数据的问题。通过一个具体的例子展示了当函数内部对传入的指针指向的数据进行修改时,这种变化会反映到调用函数的作用域中。
2239

被折叠的 条评论
为什么被折叠?



