大连疏通下水道:关于c语言指针的赋值问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 02:15:20
所谓p指向s,到底是p=&s,还是*p=&s??
两者有什么不同?各自代表什么意思?
看了楼下的三个答案,可是问题依然存在:既然*是取内容的意思,&是取地址的意思,那么1。*p=&s 即p的内容是s的地址 2。p=&s p作为变量,本身就代表了它的内容,那似乎和前一种表达方式又没有不同了。。一般来说的p指向s到底是什么意思??!!
还有,虽然楼下有朋友说了第一种表达方式不对,但是书里却都是这种表达= =

*p=&s一般出现在p的声明语句中,这时,*是指针类型声明符,不是取指针指向的变量值的那个运算符。
p=&s一般出现在非声明语句中,这时,因为已经声明过了p为指针类型,此处只要将其赋值为&s即可。

char *p=ch;
p=

p=&s 是让p指向s
*p=&s 是让p指向的那个地址里存贮s的地址

我来给你个两中表示办法
1.char *p /*先声明*/
p=&s
2.char *p /*先声明*/
*p=s
这两中都可以的

*p=&s 这个虽然不是错误的,但是没有人会用的,如果s不是数组的话