C 语言数据类型本质 ( sizeof 函数 | 数据类型大小 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言数据类型本质 ( sizeof 函数 | 数据类型大小 )相关的知识,希望对你有一定的参考价值。





一、sizeof 函数



sizeof() 函数可以计算 数据类型 的大小 ;

sizeof (类型说明符/表达式)

可以向函数中传递

  • 数据类型
  • 变量
  • 表达式

作为参数 , 如果传入变量 , 会计算变量对应的数据类型对应的内存大小 , 如果传入表达式 , 会计算表达式计算结果的数据类型对应的大小 ;

一般情况下都传入数据类型 ;





二、数据类型大小



int a;
int array[10];

使用 sizeof() 函数 计算 数据类型大小 ;

上述 sizeif(a) 的值为 4 4 4 , sizeof(array) 的值是 40 40 40 ;

a 表达式类型是 int , 该类型占据 4 4 4 字节的内存空间 ;

array 表达式类型是 int[10] 数组类型 , 该类型占据 40 40 40 字节的内存空间 ;


C 语言编译器 解析到 int array[10]; 代码时 , 就会给 array 变量分配 40 40 40 字节大小的内存空间 ;

C 语言编译器 解析到 int a; 代码时 , 就会给 a 变量分配 4 4 4 字节大小的内存空间 ;





三、代码示例



代码示例 :

#include <stdio.h>

/*
 * 函数入口
 */
int main(int argc, char **args)

    // 编译器分配 4 字节内存
    int a;
    // 编译器分配 40 字节内存
    int array[10];

    // sizeof(a)=4, sizeof(array)=40
    printf("sizeof(a)=%d, sizeof(array)=%d\\n", sizeof(a), sizeof(array));
    return 0;

以上是关于C 语言数据类型本质 ( sizeof 函数 | 数据类型大小 )的主要内容,如果未能解决你的问题,请参考以下文章

C语言中,sizeof返回值代表啥意思?

C语言中sizeof的用法

sizeof与strlen的区别及运用

C语言基础:C语言数据类型sizeof关键字基本类型书写(二 / 八 / 十 / 十六进制)

C入门7C语言中的数组

C语言注意事项(strlen和sizeof)