C语言 结构体 共用体和用户自定义类型
2021-07-14 01:06
                         标签:自定义数据类型   core   变量   zha   arp   必须   day   声明   标识符    基本类型:整型、字符型、实型、双精度型和空值型 派生型:指针和数组 用户构造类型 用户定义类型:对已有的类型,另外说明一个新的类型标识符。 结构体:把具有相互关系的不同类型的数据组成一个有机的整体 共用体:又称联合体,使几种不同类型的变量共用一段存储空间。 14.1 用typedef说明一种新类型名 作用: 用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原有的类型名依然有效。 例如:typedef int INTERGER; INTERGER m,n; 等价于 int m, n; 如:typedef char *CHARP;       CHARP p; 等价于char *p; 14.2 结构体类型 如:一条学生记录(student),包含如下数据项:姓名(name):字符串、性别(sex):字符型、出生日期(birthday):date结构体、四门课成绩(SC):一维实型数组 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体——自定义数据类型 结构体类型的变量、数组和指针变量的定义 1.紧跟类型说明之后定义变量 结构体变量中的各成员在内存中按说明的顺序依次存放 2.声明无名结构体时直接定义变量,即将其中的student省略掉 结构体嵌套定义 3.先声明结构体类型,再使用类型定义变量 struct student { ………… }; struct student std, pers[3], *pStd; 4.使用typedef重新声明一个结构体类型名,然后用新类型名字定义变量 结构体类型的变量、数组赋初值 1.结构体变量赋初值   C语言 结构体 共用体和用户自定义类型 标签:自定义数据类型   core   变量   zha   arp   必须   day   声明   标识符    原文地址:https://www.cnblogs.com/pangtao/p/9541284.html
typedef 类型名 标识符;struct student
{
    char name[20];
    struct date birthday;
    char sex;
    int score[4];
}std, pers[3], *pStd;
struct date
{
    int year;
    int month;
    int day;
};
struct student
{
    char name[20];
    struct data birthday;
    char sex;
    int score[4]; 
};
struct student
{
    char name[20];
    struct
    {
         int year;
         int month;
         int day;
     }birthday;
     char sex;
     int score[4];
};
typedef struct
{
……
}student;/Student 是结构体的类型的一个新名字而已,如 int char 他们一样,不用再写struct
student std, pers[3], *pStd;
struct date
{
    int year;
    int month;
    int day;
};
struct student
{
    char name[20];
    char sex;
    struct date birthday;
    float score[4];};
struct student
std1={"Li Ming",‘M‘,1992,10,1,95.5,60,70,88.5},
std2={"Liu Qiang", ‘M‘, {1995,10,1},{95.5,60,70,88.5}},
std3={"Zhang Ya",‘F‘, {1995},{95.5,60}};