C语言(十三)数组

一、一维数组

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     int a[] = {1,2,3,4,5};
 6     int i;
 7     
 8     for(i=0; i<5; i++)
 9            printf("%d\n\a",a[i]);
10     
11     system("pause");
12     return 0;
13 }
数组的简单使用_1 
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     int a[5];
 6     
 7     scanf("%d",&a[0]);
 8     printf("a[0] = %d\n",a[0]);
 9     
10     scanf("%d",&a[3]);
11     printf("a[3] = %d\n",a[3]);
12     
13     int i;
14     for(i=0; i<5; ++i)
15         printf("%d\n",a[i]);
16     system("pause");
17     return 0;
18 }
19 /*
20     有关一维数组的操作
21         初始化
22             完全初始化
23                 int a[5] = {1,2,3,4,5};
24             不完全初始化,未被初始化的元素自动为零
25                 int a[5] = {1,2,3};
26             不初始化,所有元素是垃圾值
27                 int a[5];
28             清零
29                 int a[5] = a{0};
30             错误写法;
31                 int a[5];
32                 a[5] = {1,2,3,4,5}; //错误
33                 只有在定义数组的同时才可以整体赋值,
34                 其他情况下整体赋值都是错误的
35                 
36                 int a[5] = {1,2,3,4,5};
37                 a[5] = 100; //error 因为没有a[5]这个元素
38                 
39                 int a[5] = {1,2,3,4,5};
40                 int b[5];
41                 如果要把a数组中的之全部复制给b数组
42                     错误的写法;
43                         b = a;//error
44                     正确的写法;
45                         for(int i=0; i<5; ++i)
46                             a[i] = b[i];
47 */
数组的简单使用_2 
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     int a[8] = {1,2,3,4,5,6,7,8};
 6     int i,j;
 7     int t;
 8     
 9     i = 0;
10     j = 7;
11     while(i < j)
12     {
13         t = a[i];
14         a[i] = a[j];
15         a[j] = t;
16         
17         i++;
18         --j;
19     }
20     
21     for (i=0; i<8; ++i)
22         printf("%d\n",a[i]);
23     system("pause");
24     return 0;
25 }
把一个数组中的元素给全部倒过来

二、二维数组

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main()
 4 {
 5     int a[3][4] = {
 6                     {1, 2, 3, 4},
 7                     {5, 6, 7, 8},
 8                     {9,10,11,12}
 9                   };
10     int i,j;
11     
12     for(i=0; i<3; ++i)
13     {
14         for(j=0; j<4; ++j)
15             printf("%-5d ",a[i][j]);
16         printf("\n");
17     }
18     system("pause");
19     return 0;
20 }
21 /*
22     二维数组
23         int a[3][4];
24         总共是12个元素,可以当做3行4列看待,这12个元素的名字依次是
25             a[0][0] a[0][1] a[0][2] a[0][3]
26             a[1][0] a[1][1] a[1][2] a[1][3]
27             a[2][0] a[2][1] a[2][2] a[2][3]
28             a[i][j] 表示第i+1行第j+1列元素
29             int a[m][n];该二维数组的右下角位置的元素只能是a[m-1][n-1]
30                 
31     
32 */
输入二维数组的内容 
 1 /*是否存在多维数组
 2     不存在
 3     因为内存是线性一维的
 4     n维数组可以的当做每个元素n-1维数组的一维数组
 5         比如:
 6             int a[3][4];
 7                 该数组是含有三个元素的一维数组
 8                 只不过每个元素都可以再分成4个小元素
 9             int a[3][4][5];
10                 该数组是含有3个元素的一维数组
11                 只不过每个元素都是4行5列的二维数组
12 */
是否存在多维数组

 

posted @ 2013-07-05 16:03  tongtian  阅读(232)  评论(0编辑  收藏  举报