有没有人帮我解决一个关于c语言指针的问题!!

Squall

知名会员
注册
2003-04-01
消息
2,329
荣誉分数
11
声望点数
148
x = &y
&y = x

有什么区别阿?
 
2步 我是在学了assembly language之后才彻底搞懂这个概念的
 
有一道题是这样的:

int x = 0, &y = x, *p = &x, z = x;
x =1;

which of the following is false:
A) y==1
B) z==1
c) *p==1
d) *p==y

我搞不懂这些指针指向和被指的关系.谁能解释一下每个statement的true or false 情况怎么判断的?
 
最初由 Stitch 发布
……又慢了!!!:eek:

哈哈。
不过还是要谢谢热心的人们啊!
 
最初由 thyme 发布
看看这个小程序:

int x = 1, y = 2, z[10];
int *ip; /* ip is a pointer to integer */

ip = &x; /* ip now points to x */
y = *ip; /* y now is one == content of what ip points to, which is the value of x, and x = 1. */
*ip = 0; /* x now is zero == content of what ip points to is assigned to be zero. */
ip = &z[0]; /* ip now points to the first element of string z, z[0] */

.... ...

通过不停转换这个pointer指向谁(其实就是说,不停改换ip是谁的地址address),我们可以改变被指向者的值(content)。

谢谢你的例子。很有用。现在我搞懂了。

那我还有个问题关于。 -> 和 . 这两个符号!!!

这同样也是指针吗?能不能给我个例子阿。
 
还有。如果指针的内容改变,被指的变量的内容也要改变。

那么,被指的变量的内容改变。指针的内容会不会变???

比如:
int *x, y = 0;
x = &y;
y = 1;
printf ("%d", *x); /*这会显示什么数字呢?*/
 
楼主,指针在C里的概念很重要,一定要搞清楚!楼主不懂就问而且契而不舍的精神很对头!:cool:在实际C programming当中,指针应用非常多,搞不懂它,嗬嗬…… :o

楼上的很强呀!哎,老了:D……年轻人手脚就是利索,不错不错继续努力!:cool:
 
看了这贴才知道,指针就是pointer…………
 
最初由 家卫 发布
看了这贴才知道,指针就是pointer…………

………………:shale: :shale: :shale: ………………
 
最初由 家卫 发布
看了这贴才知道,指针就是pointer…………
hehe ,我也刚知道原来国内这么翻译
 
最初由 ???狗 发布

hehe ,我也刚知道原来国内这么翻译

晕了!

我刚来加拿大就知道啦,哈哈!
 
后退
顶部