C语言之结构体(struct)详解
时间:2021-12-21 10:09:40|栏目:C代码|点击: 次
为什么需要引入结构体
原有的数据类型不能满足需求,因此才设计了构造类型结构体
struct
定义
struct name { 基础类型 结构成员 }
1.无名构造类型
2.有名构造类型
struct student { char name[30]; char sex; int age; float high; }stu; struct student stu2;
3.别名构造体类型
typedef struct student { char name[30]; char sex; int age; float high; }STUDENT; STUDENT stu, stu2;
typedef与#define
typedef是一个常用于对结构体取别名的关键字,构成的语句参与编译,而#define是定义的宏在预处理阶段就已经处理完毕
结构体变量初始化及成员访问
- 初始化是一种特殊的语法不等价于赋值
- 凡是基本类型既可以定义的时候初始化也可以先定义在初始化
- 凡是构造类型要么在定义的时候初始化,要么先定义成员再分别进行赋值和基础数据类型不同
结构体访问
- 点成员运算符.
- 指向成员运算符->或者(*).
struct student *pst = &st pst.age (*pst).age st.age