sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小。sizeof 运算符可用于获取类、结构、共用体和其他用户自定义数据类型的大小。
sizeof具有如下特性:
- sizeof是编译器的内置指示符
- sizeof用于计算类型或者变量所占用内存大小
- sizeof的值在编译期就已经确定
sizeof用法
sizeof用于类型:
sizeof(type);
sizeof用于变量:
sizeof(var);
sizeof var; // 由此可知,sizeof并不是函数
示例:
int var = 0;
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(var));
printf("%d\n", sizeof var);
sizeof关键字
sizeof是C语言的内置关键字而不是内置函数
- 在编译过程中所有的sizeof将被具体的数值所替换
- 程序的执行过程与sizeof没有任何关系
下面的程序输出什么?
int var = 0;
int size = sizeof(var++);
printf("var = %d, size = %d \n", var, size);
sizeof使用示例
#include <stdio.h>
int f()
{
printf("Deepinout.com\n");
return 0;
}
int main()
{
int var = 0;
int size = sizeof(var++);// 并不会执行var++!!!!!!!!!!!
printf("var = %d, size = %d\n", var, size);
size = sizeof(f());
printf("size = %d\n", size);
return 0;
}
运行结果: