C语言基础回顾0x01—结构体

简述

结构体可以理解成“类”把结构体理解成是一种类型,而不是变量

0X01

声明一个结构体类型

struct Student {
    char *name;
};

struct Student 是一个变量类型,类似 int、string。

定义并初始化一个结构体类型的变量

struct Student student;
student.name = "jack ma";

定义并初始化一个结构体类型的指针变量

struct Student *student;
student -> name = "jack ma";
//和上面一行代码等价
(*student).name =  "jack ma";

声明一个结构体类型的同时,声明一个变量和一个指针变量

struct Student {
    char *name;
} student,*stu;

0X02

给结构体类型取别名

struct Student {
    char *name;
};
//定义别名
typedef struct Student Stu;
//利用别名声明一个结构体变量
Stu stu;

//或者是:
typedef struct Student {
    char *name;
}Stu;
Stu stu;

给结构体类型取“指针别名”

struct Student {
    char *name;
};
//定义别名
typedef struct Student *Stu;
//利用别名声明一个结构体指针变量
Stu stu;
stu -> name = "jack ma";(注意先给指针变量赋值,就是一个地址)

//或者是
typedef struct Student {
    char *name;
}*Stu;
//利用别名声明一个结构体指针变量
Stu stu;

你可能感兴趣的:(C语言基础回顾0x01—结构体)