1 sizeof关键字的用法
- sizeof是编译器的内置指示符。
- sizeof用于计算类型或变量所占内存大小。
sizeof的值在编译期就已经确定。
sizeof用于类型:
- sizeof(type)
sizeof用于变量
- sizeof(var) 或 sizeof var
2 为sizeof关键字正名
sizeof是C语言的内置关键字而不是函数:
- 在编译过程中所有的sizeof将被具体的数值所替换;
- 程序的执行过程与sizeof没有任何关系。
输出0, 4。
编程实验:szieof的本质
#include <stdio.h>
int f()
{
printf("Delphi Tang\n");
return 0;
}
int main()
{
int var = 0;
int size = sizeof(var++);
//首先得到sizeof(var)的值,然后被具体的数值替换掉故++未执行。
//++在前也不会执行
//编译的时候直接计算结果,运行的时候根本不会被执行
printf("var = %d, size = %d\n", var, size); //0,4
size = sizeof(f()); //无输出结果
printf("size = %d\n", size); //0
return 0;
}
sizeof是编译器的内置指示符。
sizeof不参与程序的执行过程。