【C语言进阶剖析】1.C语言中的基本数据类型

142 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

文章目录

一、数据类型的本质

二、变量的本质

三、小结 


一、数据类型的本质

  • 数据类型可以理解为固定内存大小的别名
  • 数据类型是创建变量的模子

char、short和int 所占用的字节数

编辑

char、short和int 在内存空间定义变量示意图

编辑

二、变量的本质

  • 变量是一段实际连续存储空间的别名
  • 程序中通过变量来申请并命名存储空间
  • 通过变量的名字可以使用存储空间

        如下,其中变量 p 为指针变量:

​编辑

         类型是内存大小的别名,变量是具体的内存空间的别名,那么类型和变量之间有什么关系呢?下面通过一段程序来说明:

#include <stdio.h>

int main()
{
    char c = 0;
    short s = 0;
    int i = 0;
    
    printf("%d, %d\n", sizeof(char), sizeof(c));
    printf("%d, %d\n", sizeof(short), sizeof(s));
    printf("%d, %d\n", sizeof(int), sizeof(i));
    
    return 0;
}

        下面为输出结果:

​编辑

         由此可以看到,类型的内存空间大小与由该类型创建的变量的内存空间大小相同。

        下面再看一段自定义类型与创建变量的代码:

#include <stdio.h>

typedef int INT32;
typedef unsigned char BYTE;
typedef struct _tag_ts
{
    BYTE b1;
    BYTE b2;
    short s;
    INT32 i;
} TS;

int main()
{
    INT32 i32;
    BYTE b;
    TS ts;
    
    printf("%d, %d\n", sizeof(INT32), sizeof(i32));
    printf("%d, %d\n", sizeof(BYTE), sizeof(b));
    printf("%d, %d\n", sizeof(TS), sizeof(ts));
    
    return 0;
}

        下面为输出结果: 

​编辑

         这段代码也印证了前面说的数据类型与变量的本质。

三、小结 

  •  数据类型的本质是一个模子
  • 数据类型代表需要占用的内存大小
  • 变量的本质是一段内存的别名
  • 变量隶属于某一种数据类型
  • 变量所在的内存大小取决其所属的数据类型