复合结构类型:
结构struct
结构是由程序员自己设计的一种数据类型,用于描述一个事物的的各项数据,由若干个不同的基础类型组成。(数组是由若干个相同的基础类型组成)
设计:
struct 结构体名
{
类型1 成员名1;
类型2 成员名2;
…
};
访问结构成员:结构体名.成员名;
//学生结构体 设计
struct Student
{
char name[20];
char sex;
int id;
};
struct Student stu,stu1,stu2; //定义结构体变量
stu.id // 访问结构成员
stu.name
stu.sex
struct Student C语言中一起出现的 定义时不能省略 一般写法如下使用typedef
typedef重定义结构类型:
typedef struct 结构类型名 结构类型名;
之后就可以不使用struct关键字了
//学生结构体 设计
typedef struct Student
{
char name[20];
char sex;
int id;
}STUDENT;
STUDENT stu,stu1,stu2;
stu.id // 访问结构成员
stu.name
stu.sex
定义结构变量初始化:
- struct 结构名 结构变量名 = {v1,v2,v3};
注意:要根据结构体设计的顺序初始化 后面未初始化的默认是0,但前面要对应类型不能有误
#include <stdio.h>
int main(int argc,const char* argv[])
{
//设计学生结构体
typedef struct Student
{
char name[20];
char sex;
int id;
}STUDENT;//重命名为STUDENT
STUDENT stu={
"haha",'m',1233};//定义一个类型为STUDENT的 stu初始化
printf("%s %c %d",stu.name,stu.sex,stu.id);
}
结果
----------------------
haha m 1233
请按 ENTER 或其它命令继续