赞
踩
目录
数组是一组相同类型元素的集合
一维数组创建的基本语法如下:
元素类型说明符 数组名[整常量表达式] = {元素初值列表};
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
1.含全部元素初始值
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
2.含部分元素初始值
int arr[10] = {1, 2, 3, 4, 5};
则后5个元素由系统自动初始设置为0
3.方括号内无元素数
int arr[ ] = {1, 2, 3, 4, 5, 6};
省略方括号内不写,大括号内总共有6个数,则元素个数系统自动设置为6
4.初值列表中初值数目不得超过数组元素数
int arr[4] = {1, 2, 3, 4, 5};
数组给定大小为4,但初始化时给了5个元素,则编译时出错
C语言规定数组元素是有下标的,假设数组有n个元素,则最后一个元素的下表为n-1
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
其中,数组中有一个操作符,为下标引用操作符[ ],通过[ ],我们就可以访问到数组中的元素
比如我们想访问第3个元素,就用arr[2],想访问第5个元素,就用arr[4]
那么,要求数组中元素的个数,我们则可以使用如下方式:
printf("%d", sizeof(arr) / sizeof(arr[0]);
要想打印出整个数组,则使用循环:
先看代码:
这里我们通过将数组各个元素打印出来观察其地址,可知,一维数组在内存中是连续存放的
因为我们存放的是int类型的数据,大小为4个字节,则地址依次加4
由此可得,地址的依次增加的大小则会根据存放的数据的类型的改变而改变
二维数组与一维数组相似,不同的地方就在于一维数组只有一行,而二维数组新引入了列的概念,有很多行
一维数组创建的基本语法如下:
元素类型说明符 数组名[行数][列数] = {元素初值列表};
行数和列数分别表示二维数组有多少行,多少列,例如:
int arr[2][3] = {1,2,3,4,5,6};
该语句定义了一个2行3列的数组,则可存放2x3=6个元素
1.含全部元素初始值
int arr[2][3] = {1,2,3,4,5,6};
2.含部分元素初始值
int arr[2][3] = {1,2,3};
则后3个元素由系统自动初始设置为0
3.分行赋初始值
int arr[2][3] = {{1,2,3},{4,5,6}};
第一个花括号的数据赋给第一行,第二个花括号的数据赋给第二行
4.初始化时,行数可以省略,列数不可以省略
int arr[ ][3] = {{1,2,3},{4,5,6}};
系统自动识别为2行,因为有两个花括号
int arr[ ][3] = {1,2,3,4,5,6,7,8,9};
每一行固定为3个数,所以系统自动识别为3行
与一维数组引用下标的访问方式类似,在引用下标访问二维数组元素时,会新增加一个下标
如我想要访问数组中第2行第3列的元素,就用a[1][2]
若要打印出整个二维数组,则要用两层循环
外层i是行,内层j是列,打印完一列之后换成下一行,同时不要忘记打印完一列后的\n换行
代码如下:
观察可知,二维数组在内存中也是连续存放的,一行存完,再存下一行
关于数组的应用方面还会与比如指针,字符等方面结合应用,我会在之后的文章中添加,欢迎大家指正修改!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。