结构体和联合体详解-定义及初始化

文章目录

  • 前言
  • 一、结构体
    • 1.1结构体类型
    • 1.2定义结构体变量
    • 1.3 初始化结构体变量
    • 1.4结构体变量的引用
  • 二、结构体数组
    • 2.1定义结构体数组
    • 2.2初始化结构体数组
  • 三、联合体
    • 3.1初始化联合体(定义与结构体相同)


前言

在C语言中,我们想存储多个数据时,往往联想到数组。但是数组有个显著的问题是它只能存储相同类型的数据,当我们想要描述一个对象的多维状态时,往往是不同类型的数控,例如学生档案的学号、姓名、年龄等。而这时我们可以使用结构体或联合体来存储数据。

一、结构体

我们知道像字符型、整型、浮点型等基本数据类型都是C语言事先定义好的,而结构体作为一种用户自定义的数据类型,则必须“先定义后使用”,即我们首先需要构造一个结构体,才能使用它来定义变量和数组。

1.1结构体类型

结构体类型是一种数据类型,它可以由多种基本的数据类型组成,我们可以在构造结构体类型时可以根据我们的需要进行自定义。
C语言中定义结构体的语句为;

struct 结构体类型名
{
   
数据类型1  成员名1;
数据类型2  成员名2......
}

struct是C语言中的关键字,表明正在定义一个结构体,上图可以看出,结构体可以有若干个数据类型组成,以对于一个学生信息的描述为例,我们可以分为编号、姓名、成绩、生日来描述。

struct student
{
   
    int num;
    char name[8]float ave;
    struct data birthday;
}struct data
{
   
   int day;
   int month;
   int year;
}

你可能感兴趣的:(c语言)