标签:
一、一维数组
存放一组同种类型的数据。
1、数组的定义
元素类型 数组名[元素个数];
1 //都是正确写法 2 int ages[5] = {10 , 11, 12, 67, 56}; 3 int ages[5] = {10, 11}; 4 int ages[5] = {[3] = 10, [4] = 11}; 5 int ages[] = {10, 11, 14}; 6 7 // 错误写法 8 int ages[];
2、 数组的初始化
1 // 错误写法 2 //只能在定义数组的同时进行初始化 3 int ages[5]; 4 ages = {10, 11, 12, 14};
//正确写法 //只能在定义数组的同时进行初始化 int ages[5] = {10, 11, 12, 14};
1 // 正确写法 2 /* 3 int count = 5; 4 int ages[count]; 5 ages[0] = 10; 6 ages[1] = 11; 7 ages[2] = 18; 8 */
3、 数组的基本使用
1 / 数组的基本使用 2 void arrayUse() 3 { 4 // 数组的定义格式: 类型 数组名[元素个数]; 5 int ages[5] = {19, 29, 28, 27, 26}; 6 // 19 19 28 27 26] 7 ages[1] = 29; 8 9 /* 10 ages[0] = 19; 11 ages[1] = 19; 12 ages[2] = 28; 13 ages[3] = 27; 14 ages[4] = 26; 15 */ 16 17 /* 18 遍历:按顺序查看数组的每一个元素 19 */ 20 for (int i = 0; i<5; i++) 21 { 22 printf("ages[%d]=%d\n", i, ages[i]); 23 } 24 }
4、 数组在内存中的分析
① 数组存储空间的大小
② 存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的)
③ 数组名的作用,查看元素地址
1 #include <stdio.h> 2 3 /* 4 提示用户输入5个学生的成绩,算出平均分并且输出 5 */ 6 7 int main() 8 { 9 10 11 // 1.定义一个数组来存储成绩 12 int scores[5]; 13 14 // 2.提示输入成绩 15 // 用来存储总分 16 int sum = 0; 17 for (int i = 0; i<5; i++) { 18 // 2.1 提示输入某个学生的成绩 19 printf("请输入第%d个学生的成绩:\n", i + 1); 20 // 2.2 存储当前学生的成绩 21 scanf("%d", &scores[i]); 22 // 2.3 累加成绩 23 sum += scores[i]; 24 } 25 26 // 3.计算平均分,并且输出 27 printf("平均分是%f\n", sum/5.0); 28 return 0; 29 }
5、 数组与函数的关系和应用
① 数组作为函数参数,可以省略元素个数
② 数组作为函数参数,传递是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组
1 #include <stdio.h> 2 void change(int array[]) 3 { 4 //printf("array==%p\n", array); 5 6 array[0] = 100; 7 } 8 9 void change2(int n) 10 { 11 n = 100; 12 } 13 14 int main() 15 { 16 int ages[6] = {10, 11, 10, 11, 10, 11}; 17 18 //printf("ages==%p\n", ages); 19 20 change(ages); 21 22 //change2(ages[0]); 23 24 printf("%d\n", ages[0]); 25 return 0; 26 }
二、二维数组
二维数组是一个特殊的一维数组:它的元素是一维数组
1、数组的定义和初始化
1 int a[3][4] = {1,2,3,4,5,6}; 2 int a[3][4] = {{},{},{}}; 3 //数组元素简单访问 4 int a[][5] = {3,21,31,2,32,1}; 5 6 //注意错误: 7 int a[3][4]; 8 a[3] = {};
2、二维数组的简单运用
1 /* 2 1 浅蓝色 3 2 深蓝色 4 3 黄色 5 4 红色 6 -1 没有 7 */ 8 9 int cubes[5][5] = { 10 {1, -1, -1, -1, -1}, 11 {1, 1, -1, 2, -1}, 12 {4, 1, 2, 2, 2}, 13 {4, 3, 3, 3, 3}, 14 {4, 3, 3, 3, 3} 15 }; 16
标签:
原文地址:http://www.cnblogs.com/gaizuojia/p/4356464.html