c语言,设p为一个指针,*p=x与p=&x有什么区别?

2024-11-06 05:17:11
推荐回答(1个)
回答(1):

p为一个指针的话,*p=x是给已经指向可用空间的变量赋值用的,它必须先让指针p指向一个可用的存储空间,然后这个语句就把x中存储的值复制到p所指向的那个空间。
而p=&x;就是让p指向一个可用的存储空间的语句(p指向变量x)。
比方说:
int x=12,y,*p;
p=&x;
*p=x*x; //----这个语句的作用,就相当于x=x*x;是完全一样的。
若下面还有:
*p=&y; //p指向y了
*p=x;
则执行此语句后变量y的值就是144了(y的值与x相同了)