结构体数组
1 #include<stdio.h>
2 #include<stdlib.h>
3
4 // 结构体数组的定义
5
6 struct // 匿名结构体 主要作用是锁定变量的个数
7 {
8 int num;
9 double db;
10 }*p,x[10],z; // p是指针 x是数组 z 是变量
11
12 // 匿名结构体 如果有指针 指针可以开辟空间 不能锁定其数量
13
14
15 struct MyStruct
16 {
17 int id;
18 char str[10];
19 }my2[10];// 第二种定义方式
20
21 void main()
22 {
23 //struct MyStruct my1[10];// 第一种定义方式
24 //struct MyStruct *p = (struct MyStruct[10]){ 0 };// 栈上开辟 结构体一维数组
25 //struct MyStruct my[] = { { 10, "123" }, { 20, "456" } };// 结构体初始化一般形式
26 //struct MyStruct *p = (struct MyStruct[10]){ { 10, "123" }, { 20, "456" } };
27
28 //struct MyStruct my[2] = { 10, "123", 20, "456" };// 可以 将其大括号去掉
29 //struct MyStruct my[2] = { 10, 20,"123", "456" };// 顺序颠倒 编译时出现警告 一定要遵循顺序
30
31 struct MyStruct my[2] = { { 0 }, { 0 } };// 初始化为空 全部设为 0 即可
32 system("pause");
33 }
34
35 //////////////////////////////////////////////////////////////////////////
36
37 struct csdn
38 {
39 char name[100];
40 char password[100];
41 char email[100];
42 }csdndata[3] = {
43 { "cmt", "12344321", "cmt@csdn.net" },
44 { "GongBo ", " 6702039874512 ", "GongBo@163.com" },
45 { "wudragon", "265879452 ", " wudragon@tom.com" }
46 },*pcsdn;
47
48 void main()
49 {
50 pcsdn = (struct csdn[]){
51 { "cmt", "12344321", "cmt@csdn.net" },
52 { "GongBo ", " 6702039874512 ", "GongBo@163.com" },
53 { "wudragon", "265879452 ", " wudragon@tom.com" }
54 };
55
56 for(int i = 0; i < sizeof(csdndata) / sizeof(csdndata[0]);i++)
57 {
58 //char *p = strstr(csdndata[i].email, "GongBo@163.com");
59 //char *p = strstr((&csdndata[i])->email, "GongBo@163.com");// a.b <=> &a->b p->b <=> (*p).b
60
61 //char *p = strstr(pcsdn[i].email, "GongBo@163.com");
62 //char *p = strstr((pcsdn+i)->email, "GongBo@163.com");
63
64 char *p = strstr((*(pcsdn + i)).email, "GongBo@163.com");
65
66 if (p != NULL)
67 {
68 puts(csdndata[i].password);
69 }
70
71 }
72
73 system("pause");
74 }
长风破浪会有时,直挂云帆济沧海
posted on 2015-05-17 22:31 Dragon-wuxl 阅读(189) 评论(0) 收藏 举报
浙公网安备 33010602011771号