创建一个结构体,结构体可以放在main函数里面,也可以放在main函数外面用来创建全局变量
#include<stdio.h>
#include<stdlib.h>
struct Stu
{
char name[30];
char sex[10];
char tele[20];
int age[10];
}s4,s5,s6;
//创建一个全局变量
struct Stu s3;
int main()
{
//创建一个结构体变量
struct Stu s1;
struct Stu s2;
system ("pause");
return 0;
}
链表
链表中的每一个连接的地方叫做结点,另外结构体要存放的不是下一个结点,而应该是下一个结点的地址,而下一个结点的类型,无非就是我们在前面声明的struct什么什么的,下一个结点的地址就是要存放到指针里面
这就是结构体的自引用
结构体变量的初始化
struct s
{
char c;
int a;
double d;
char arr[20];
};
int main()
{
struct s s= {'c',100,3.14,"hello bit"};//结构体初始化
printf("%c,%d,%lf,%s", s.c, s.a, s.d, s.arr);
system("pause");
return 0;
}
结构体的内存对齐
struct S2
{
char c1;
int a;
char c2;
};
struct S1
{
char c1;
char c2;
int a;
};
int main()
{
struct S1 s = {0};
printf("%d\n",sizeof(S1));
struct S2 s1 = {0};
printf("%d\n", sizeof(S2));
system("pause");
return 0;
}
正确结果是 8 12