sizeof

来源:互联网 发布:windows转换苹果系统 编辑:程序博客网 时间:2024/06/03 15:14

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不参与程序的执行过程。