黑马程序员技术交流社区
标题:
关于c语言指针,来大神且看我分析对不对。
[打印本页]
作者:
ヅ光着脚丫dε尐
时间:
2014-8-2 14:00
标题:
关于c语言指针,来大神且看我分析对不对。
本帖最后由 ヅ光着脚丫dε尐 于 2014-8-6 20:24 编辑
#include <stdio.h>
void change(int *n);
int main()
{
int a = 90;
change(&a); //取a的地址传递给change函数,
printf("%d\n", a); //此时a的值已变为10,输出10
return 0; //就是说传递给change函数是a的地址,指针返回10给a的地址,a=90,被覆盖为a=10
}
void change(int *n) //函数返回10给a
{
*n = 10;
}
复制代码
我的分析对吗?
作者:
偶太白
时间:
2014-8-2 14:41
写的很对
作者:
陆习康
时间:
2014-8-2 15:25
对的,对于一般的数,需要加&,而数组不加,传的都是地址,这样才能该值
作者:
-(_)-
时间:
2014-8-3 01:13
你分析得很正确, 要修改a的值, 就应该通过传址来修改. 传值引用的话就是复制个值过去, 不会修改原来的值. 理解传埴跟传址, 自然很明白了
作者:
duzhong
时间:
2014-8-3 17:41
指针肯定没问题啊,分析也很正确。不过这样写何必呢。change函数可以写获取地址吧。
作者:
★彬★卍囧神
时间:
2014-8-3 18:10
很不错哦...
作者:
山涧小草
时间:
2014-8-6 02:21
嗯嗯,挺好的!指针的作用很强大
作者:
小小菜鸟007
时间:
2014-8-6 11:15
正确吗? 你在change函数里用的是 *n = 10; 这样的话是把n的地址改为10了吧,并没有影响a的值吧?
作者:
踏出梦想的轨迹
时间:
2014-8-6 17:36
对的,分析的正确
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2