sizeof是求字节数运算符
- 其基本使用方法是:sizeof(n),n可以为变量本身,也可以为变量类型。
- sizeof(n)将在编译时被替换为n在内存中占用的字节数。
1. 返回各个基本数据类型在内存中的大小
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("sizeof(char):%d\r\n", sizeof(char));
printf("sizeof(short):%d\r\n", sizeof(short));
printf("sizeof(int):%d\r\n", sizeof(int));
printf("sizeof(long):%d\r\n", sizeof(long));
printf("sizeof(float):%d\r\n", sizeof(float));
printf("sizeof(double):%d\r\n", sizeof(double));
return 0;
}
运行结果:
2. 对变量求字节数
#include <stdio.h>
int main(int argc, char* argv[])
{
int nValue = 0;
short sValue = 0;
printf("%d, %d\r\n", sizeof(nValue), sizeof(sValue));
return 0;
}
运行结果:
3. 应用实例
判断当前运行程序的位数,查看是32位还是64位,32位系统中指针大小为4字节,64位系统中为8位字节。
int main(int argc, char* argv[])
{
printf("sizeof(char*): %d\r\n", sizeof(char*));
return 0;
}
- 32位编译的情况下指针大小为4个字节
- 64位编译的情况下指针大小为8个字节
4.学习视频地址:sizeof运算符