C语言,假定一个p变量,如果p是整型,为什么*p一定是整型?

2024-11-28 21:49:18
推荐回答(3个)
回答(1):

不懂你在表达什么,整型变量int型是一个占据4个字节存储空间的变量,char型为1个,double为8个,但指针它是固定4个字节的(不同平台不一样),他的4个字节存放的是变量的地址,int *p;即为整型指针,指针很灵活,它并不一定就只能指向整型,因为整型占4个字节,所以p能够指向任何一个变量的首地址,读取到其首地址和与其后面3个地址的值

回答(2):

p是整型的话,那么*p就是非法的,它是个错误而不是整型!

回答(3):

1、C语言中,*表示这是一个指针变量,当你定义了一个int p;之后,是无法再次定义一个int *p;的。
例如:
int *p1;
p1 是一个指向 int 类型数据的指针变量,至于 p1 究竟指向哪一份数据,应该由赋予它的值决定。
int a = 100;
int *p_a = &a;
在定义指针变量 p_a 的同时对它进行初始化,并将变量 a 的地址赋予它,此时 p_a 就指向了 a。