指针变量查看C语言数据类型的字节大小
// 4_20_22.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include "stdafx.h"
//指针变量
int main(int argc, char* argv[])
{
printf("%d ",sizeof(char*)); //4
printf("%d ",sizeof(float*)); //4
printf("%d ",sizeof(int*)); //4
printf("%d ",sizeof(long*)); //4
//printf("%d ",sizeof(long long*)); //4 这里编译不通过
printf("%d ",sizeof(float*)); //4
printf("%d\n",sizeof(double*)); //4
return 0;
}
运行结果:
- 解释说明:
这里之所以大家的字节大小都是4,是因为指针就是为了存储变量的内存地址,这些所有的数据类型的内存地址大小可能不一样,但是它们占用相同大小的内存空间。
然而每一个都是对应的32位二进制序列,32个bit序列,,那它们的字节大小都是32/8=4;而"sizeof"计算的单位就是字节。
所以最终输出结果都是4.
注意:
这里是32位平台所以是4个字节;但若是在64位平台上就会是8个字节;所以指针大小要看是在哪个平台。