在C语言中, int *p; int a = 100; p = &a;⼀⼀这句语句的意思是什么

2025-06-20 20:06:25
推荐回答(3个)
回答1:

int *p;
声明了一个叫做p的指针,此时p不知道指向何方(未初始化)
int a = 100;
声明并初始化了一个整数a(=100)
p = &a;
让p指向a(将p设置为a的地址)(把a的地址写入p)(即初始化p为a的地址)
*p = a;
把a复制到p所指向的内容(此时p一定不能是未初始化的,否则会有未定义行为出现)

回答2:

int *p 定义了一个指针变量,给a赋值100,&a 就是取存储a的地址,p=&a;p就指向a的地址,故*p=100。

回答3:

p = &a 是 让p指向a的地址,
*p=a 的字面意思是 把a赋给p的指向,
这两句基本一样,你好好理解一下上边两句话就懂了。