[编程笔记]第五章 数组

 1 1. 为什么需要数组?
 2     为了解决大量同类型数据的存储和使用问题
 3     为了模拟现实世界
 4 2. 数组的分类
 5     一维数组:
 6         怎样定义一维数组
 7         格式: 数据类型 数组名[元素个数] ;
 8             为n个变量连续分配存储空间
 9             所有的变量数据类型必须相同
10             所有变量所占的字节大小必须相等
11         //例子
12             int a[5] ;
13             一维数组名不代表数组中的所有元素
14             一维数组名代表数组第一个元素的地址  
15         有关一维数组的操作
16             初始化
17                 1. 完全初始化
18                     int a[5] = {1,2,3,4,5} ;
19                 2. 不完全初始化 //未被初始化的元素自动为零
20                     int a[5] = {1,2,3} ;
21                 3.不初始化 //所有元素都是垃圾值
22                     int a[5] ;
23                 4.清零 
24                     int a[5] = {0} ;
25             赋值
26             排序
27             求最大/最小值
28             倒置
29             查找
30             插入
31             删除
32 
33     二维数组
34         格式:数据类型 数组名[行数][列数] ;
35         int a[3][4] ;
36         //总共是12个元素可以当做是3行4列看待,依次为:
37         a[0][0]   a[0][1]   a[0][2]   a[0][3]
38         a[1][0]   a[1][1]   a[1][2]   a[1][3]
39         a[2][0]   a[2][1]   a[2][2]   a[2][3]
40         int a[m][n] ;//该二维数组右下角位置坐标元素只能是a[m-1][n-1]
41     
42         初始化:
43             int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12} ;
44             int a[3][4] =
45             {
46                 {1,2,3,4} ,
47                 {5,6,7,8} ,
48                 {9,10,11,12} ,
49             } ;
50                          
51         操作:
52             输出二维数组的内容
53             int a[3][4] 
54             {
55                 {1,2,3,4} ,
56                 {5,6,7,8} ,
57                 {9,10,11,12} ,
58             } ;
59 
60             int i,j ;
61             //输出数组内容
62             for (i=0; i<3; ++i)
63             {
64                 for (j=0; j<4; ++j)
65                     printf("%d",a[i][j]) ;
66                 printf("\n") ;
67             }
68         对二维数组进行排序
69         求每一行的最大值
70         判断矩阵是否对称
71         矩阵的相乘
72 
73     
74     多维数组
75         是否存在多维数组
76             答:不存在,因为内存是线性一维的
77             n维数组可以当做每个元素是n-1维数组的一维数组。
78         例如:
79             int a[3][4] ;
80             //该数组是含有3个元素的一维数组
81             只不过每个元素都可以再分成4个小元素  
82            int a[3][4][5] ;
83            //该数组是含有3个元素的一维数组
84            只不过每个元素都是4行5列的二位数组  
85     
86     

猜你喜欢

转载自www.cnblogs.com/lx17746071609/p/10216259.html