“指针的 类型”和“指针所指向的类型”有什么区别

2024-11-17 17:42:49
推荐回答(2个)
回答(1):

你说的对,在32机器里,指针的容量就是4字节的。指针的类型实际上就是指针所指向的变量的类型。
为什么在声明指针的时候要声明出它所指向的变量的类型呢?
因为,例如: int * p;
在以后的程序中有可能要做 int a=*p的操作,所以* ,即取值操作就要知道p所指向的空间里存放的变量的类型,根据不同的类型,*操作会读取不同长度的连续空间,例如:int 4字节;
double 8字节。

回答(2):

只有“int类型的指针”才能用来指向“int类型的值”;其他类型的指针不行。
指针是指向内存种的一块内存空间,而这块空间的大小要根据指针指向的数据的类型的长度来分配。
比如:int型需要4个字节的空间,long需要8个字节的空间。
所以在定义指针的时候要指明指针的类型,这样程序才知道应该在内存中保留多大的空间给这个指针。