数据内存空间大小(C语言)


变量内存空间大小

1. 标准数据类型

ANSI C标准数据类型有很多,这里举例几种,char、int、float、double

代码如下:

#include 

int main ()
{
    printf ("char类型占用内存大小:  %d字节\n", sizeof (char));
    printf ("int类型占用内存大小:   %d字节\n", sizeof (int));
    printf ("float类型占用内存大小: %d字节\n", sizeof (float));
    printf ("double类型占用内存大小:%d字节\n", sizeof (double));
    return 0;
}

验证结果:

2. 用户定义数据类型

C语言支持用户自定义数据类型,例如结构体、共用体

代码如下:

#include 

struct Student
{
    char name[20];
    char id[20];
    char class[20];
    int score;
};

union Life
{
    char num;
    int score;
};


int main ()
{
    printf ("结构体struct Student类型占用内存空间大小:%d字节\n", sizeof (struct Student));
    printf ("共用体union Life类型占用内存空间大小:    %d字节\n", sizeof (union Life));
    return 0;
}

验证结果:

结论:结构体空间大小为各成员所用空间大小之和;共用体空间大小为成员中所用最大空间