C 语言提供了很多种数据类型,包括 int、short、float、double 等。不同类型定义的变量,占用的内存大小也不一样,比如 short 类型的变量占用的内存大小通常是 2 个字节,而 int 是 4 个字节。
即便是同一个数据类型,在不同的编译环境中,占用的内存大小也可能不同。例如,long 类型在 Windows 环境中占用 4 个字节,而在类 UNIX 环境中就占用 8 个字节。
程序中借助 sizeof 运算符,可以计算出当前环境中某个数据类型或变量占用的字节数。
sizeof 有两种用法,分别是:
sizeof(数据类型或者变量名)
sizeof 变量名
sizeof 的运算结果是一个正整数,也就是指定类型或变量占用的字节数。
举个例子:
#include <stdio.h>
int main()
{
short a = 10;
int b = 100;
//求 long 类型占用的字节数
int long_len = sizeof(long);
//求 char 类型占用的字节数
int char_len = sizeof(char);
//求 short 类型占用的字节数
int a_len = sizeof(a);
//求 int 类型占用的字节数
int b_len = sizeof b;
printf("long=%d, char=%d, short=%d, int=%d", long_len, char_len, a_len, b_len);
return 0;
}
在 64 位 Windows 环境中,程序的运行结果为:
long=4, char=1, short=2, int=4
在 64 位 Linux 环境中,程序的运行结果为:
long=8, char=1, short=2, int=4
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧