结构体与指针
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<malloc.h>
4
5 struct data
6 {
7 int num;
8 };
9 void main()
10 {
11 struct data(*p)[10] = malloc(sizeof(struct data) * 90);// 动态分配二维数组
12 int k = 0;
13 for (int i = 0; i < 9; i++)
14 {
15 for (size_t j = 0; j < 10; j++)
16 {
17 printf("%4d",(p[i][j]).num=k++);
18 }
19 printf("\n");
20 }
21
22 system("pause");
23 }
24
25 ////////////////////////////////////////////////////////////////////////////
26
27 void main()
28 {
29 struct data **pp;//分块数组
30 pp = malloc(sizeof(struct data *) * 10);//先分配指针数组
31 int n = 0;
32 for (int i = 0; i < 10; i++)
33 {
34 pp[i] = malloc(sizeof(struct data) * (i + 3));//每一个指针分配内存
35 for (struct data *newp = pp[i]; newp < pp[i] + (i + 3); newp++)
36 {
37 printf("%d ", newp->num = n++);
38 }
39 printf("\n");
40 }
41
42 system("pause");
43 }
44
45 ////////////////////////////////////////////////////////////////////////
46
47 void main()
48 {
49 struct data *p = alloca(sizeof(struct data) * 10);
50 int m = 0;
51 for (struct data *newp = p; newp < p + 10;newp++)
52 {
53 printf("%d ",newp->num = m++);
54 }
55 system("pause");
56 }
长风破浪会有时,直挂云帆济沧海
posted on 2015-05-18 22:24 Dragon-wuxl 阅读(126) 评论(0) 收藏 举报
浙公网安备 33010602011771号