初识C语言结构体
以构建一个 学生 结构体为例
struct stu
{
//成员变量
char name[20];
short age;
char tele[12];
char sex[5];
};
这就是一个最基本的结构体,其中
“struct” 是结构体的保留字
“stu” 是结构体标签
注,结构体定义后一定要在最后加上“;”表明这是一句语句。
那么如何调用这个结构体?
struct stu
{
//成员变量
char name[20];
short age;
char tele[12];
char sex[5];
};
// ";"前“}”后存放的是“variable-list”即变量列表
//如果要创建多个结构体变量,应用“,”分开
//并且此时创建的是全局变量,在main函数中实例化时创建的变量是局部变量
int main()
{
//实例化一个结构体
struct stu s;
return 0;
}
使用typedef保留字给stu结构体重命名
typedef struct stu
{
//成员变量
char name[20];
short age;
char tele[12];
char sex[5];
}Stu;
//此时把stu结构体重命名为Stu
//注意,此处的"Stu"不再是全局变量,而是类型名称
int main()
{
Stu s1;//该句话就等同于上面的 struct Stu s1;
return 0;
}
用“{}”给结构体初始化
Stu s1 = {'张三', 20,'123456789','男'};
凡是初始化结构体,都需要用到"{}",比如结构体间的嵌套
Stu s2 = {'张',20, {'233', 122,'w'},123};
使用“.”操作符来找到结构体成员
printf("%s\n",S2.name);
当使用的指针来访问结构体成员时,应该用"->"操作符
typedef struct stu
{
char name[5];
}Stu;
void Print1(Stu* s)
{
printf("name: %s\n", s->name);
}
int main()
{
Stu s = {'111'};
Print1(&s);
return 0;
}