文章目录

  • 一、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 函数 | 数据类型大小 )_原力计划