<C> 结构体

一.结构体

1.定义:不同/相同变量类型的集合

2.初始化

3.结构体指针

以上三个方面 我们用一个例题来解释清楚:

 1 #include<stdio.h>
 2 
 3 typedef struct AA
 4 {
 5     int bh;
 6     char* name;
 7     char* tel;
 8 }E;
 9 
10 int main()
11 {
12     struct AA a = {1,"A","111"};
13     E b;
14 
15     struct AA* p1 = &a;
16     E* p2 = &b;
17 
18     b.bh = 2;
19     b.name = "B";
20     b.tel = "222";
21 
22     printf("%d\t%s\t%s\n",a.bh,a.name,a.tel);
23     printf("%d\t%s\t%s\n",b.bh,b.name,b.tel);
24 
25     (*p1).tel = "11111";
26     p2->tel = "22222";
27     printf("%d\t%s\t%s\n",a.bh,a.name,a.tel);
28     printf("%d\t%s\t%s\n",b.bh,b.name,b.tel);
29 }

二.结构体对齐

1.总结:结构体对齐是以最大元素对齐 微观上也是以最大元素对齐

 1 #include<stdio.h>
 2 
 3 struct AA
 4 {
 5     int a;
 6     char b;
 7     short c;
 8     int d;
 9     double e;
10 };
11 
12 int main()
13 {
14     struct AA a; 
15     int n = sizeof(a);
16     printf("%d\n",n);
17 
18     printf("%d\n",&a.a);
19     printf("%d\n",&a.b);
20     printf("%d\n",&a.c);
21     printf("%d\n",&a.d);
22     printf("%d\n",&a.e);
23 
24     return 0;
25 }

2.输出结果:

3.图解:

 PS:这篇真不是我写的随便 真的是没什么好写 重点在链表对结构体的实际应用上 理解万岁

 

posted @ 2018-04-21 17:32  Aaaaaalei  阅读(199)  评论(0编辑  收藏  举报