黑马程序员技术交流社区
标题:
指针与函数参数
[打印本页]
作者:
77媛儿
时间:
2014-3-20 09:36
标题:
指针与函数参数
指针与函数参数
void test(char *name)
{
char *name2=name;
char *name2="rose"
}
int main
{
char *name="jack";
test(name);
printf("%s",name) //打印结果是否应该还是jack
}
看到oc里老师讲到指针内存的时候,我发现把指针传入函数之后,其实是新开辟了一个指针存储传入的地址,如果把新开辟的指针的地址覆盖了,在使用这个指针不会影响原来的对象,不知道在c语言中这么表现对不对
作者:
牧之
时间:
2014-3-20 12:41
char *name="jack";字符串“jack”是一个字符串常量,里面的字符不能被修改
printf("%s",name) ;还是打印name指向的存储空间的内容 结果应该还是jack
作者:
77媛儿
时间:
2014-3-20 15:06
牧之 发表于 2014-3-20 12:41
char *name="jack";字符串“jack”是一个字符串常量,里面的字符不能被修改
printf("%s",name) ;还是打印n ...
哈哈 忘了 是指针定义是字符串常量,那如果是
void test(int *p)
{
int *p1=&name;
int *p1=10;
}
int main
{
int *p=5;
test(&p);
printf("%d",*p) //打印结果是否应该还是5
}
作者:
conpgy
时间:
2014-3-20 19:05
是可以的。所有的参数传递实际上都是传值。如果传递的参数是一个指针。那么复制该指针的一个副本传递。该指针的值是一个地址。副本的内容当然也就是保存了一个相同的地址。所以改变地址的内容当然可以!
ps:楼主的代码错误好多。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2