不管一个指针变量是什么类型,都是占用占4个字节。可以通过sizeof()函数进行测试。此函数返回的是变量或者变量类型占用几个字节。
- sizeof(变量类型);
- sizeof(变量);
- 例子:sizeof(int) = 4; sizeof(char) = 1; sizeof(double) = 8;
#include<stdio.h>
int main(){
int * p;
char * q;
double * r;
int a;
char b;
double c;
printf("%d %d %d\n",sizeof(a),sizeof(b),sizeof(c));
printf("%d %d %d\n",sizeof(p),sizeof(q),sizeof(r));
}
输出结果为:
4 1 8
4 4 4
- 首先需要明白一个指针变量存放的是地址,而不是一个常量,因此不管什么类型的变量,都是地址的所占的大小。
- 一个字节有8位,四个字节占用32位大小。
- 另外一个变量的地址使用该地址首字节的地址来表示,与变量所占用空间大小无关!