一个c语言小问题,求指导

在C语言中,指针*p= 右边的值是地址还是值,那p= 右边的值是地址还是值呢

*p=右边是值
p=右边是地址

*p 表示指针指向数据的数值
p 表示指针指向数据的地址

我希望这条回答会有所帮助

int *p;
int a

*是取值符,&是取地址符。
指针即地址,故p = &a;
空间存值,故*p = a;

上面的回答都是对的也都是错的,这个要分情况的
1、声明和赋值一起 int *p = xxx, 这个时候xxx是地址。int p = yyy,yyy是值
2、前面已声明 int *p; 了, 那么后再用 *p = xxx,这个时候xxx是值,p=yyy,yyy是地址

看这个:

int a; //定义整型变量a
int* p=&a; //定义指针p,指向a的地址
a=10; //把a赋值为10,等价于 *p=10;  这时候这个*就是对指针p进行解引用,也就是说 *p等价于a
int a; //定义整型变量a
int* p; //定义指针变量p,这里的*是用来说明p的类型是一个指针型变量
p=&a; //用p指向a的地址
*p=10; //等价于 a=10;
如果我的回答对你有帮助,请点击采纳按钮,谢谢

*p右边的是地址
p右边的是值