结构体
例:
#include<stdio.h>
//描述一个学生
//名字
//年龄
//性别
//电话
//struct 结构体关键字 Stu - 结构体标签 struct Stu - 结构体类型
struct Stu
{
//成员变量
char name[20];
short age;
char sex[5];
char tele[12];
}s1, s2, s3;//变量列表 - 定义的三个全局结构体变量
int main()
{
struct Stu s;//s:定义了一个局部结构体变量
}
- strcut:结构体关键字
- typedef:为现有类型创建一个新的名字(如下)
例:
#include<stdio.h>
typedef struct Stu
{
char name[20];
}Stu;//通过typedef关键字把结构体类型的名字(struct Stu)改写成(Stu)
int main()
{
Stu s;
}
结构体类型
- 结构体的成员可以是标量,数组,指针,甚至是其他结构体
结构体初始化(在创建的时候赋初值)
例:学生类结构体初始化
#include<stdio.h>
struct Student
{
char name[20];
int age;
char sex[5];
};
int main()
{
struct Student s1 = { "家宝",18,"男" };//初始化
return 0;
}
结构体嵌套初始化
例:
#include<stdio.h>
struct S
{
int a;
char c;
char arr[20];
double d;
};
struct T
{
char ch[10];
struct S s;
char* pc;
};
int main()
{
char arr[] = "hello bit\n";
struct T t = { "hello", {100, 'w', "hello world", 3.14}, arr};
return 0;
}