C语言数组
来源:互联网 发布:运行 Windows 编辑:程序博客网 时间:2024/06/06 05:04
一维数组
形式
/* 形式 */
char cArr[10];//声明一个含十个元素的char数组
初始化
/* 1.指定数组长度 */
char cArr[5] = {'a','b','c','d','e'};//数组全部成员初始化
char cArr2[5] = {'a','b'};//数组部分成员初始化,前两个元素为字符a、b,后三个元素为空
/* 2.不指定数组长度 */
char cArr3[] = {'a','b','c','d'};//数组长度是实际元素个数。Len = 4
char cArr4[] = "wenjinxing";//当以字符串形式对数组初始化时,数组长度为字符个数+1.Len = 11
使用
数组元素通过数组名加下标访问,如arr[3]访问的是数组arr的第4个元素(因数组下标从零开始)。
多维数组
形式
/* 形式 */
char cArr[3][4];//二维数组,可以理解为3行4列共12个元素。也可以理解为含有三个元素的一维数组,每个元素又是含有4个元素的数组
初始化
/* 1.指定数组长度,全员初始化 */
char sArr[2][3] = {'a','b','c','d','e','f'};/* (1)----数组成员全员初始化,[0][0]='a',[0][1]='b',[0][2]='c',
[1][0]='d',[1][1]='e',[1][2]='f'*/
char sArr2[2][3] = {{'a','b','c'},{'d','e','f'}};/* (2)---本例与(1)表达同样的结果 */
/* 2.指定数组长度,部分成员初始化 */
char sArr3[2][3] = {'a','b','c','d'};//(3) ---[0][0]='a',[0][1]='b',[0][2]='c'; [1][0]='d',[1][1]='\0',[1][2]='\0'
char sArr4[2][3] = {{'a','b'},{'c','d'}};//(4) ---[0][0]='a',[0][1]='b',[0][2]='\0'; [1][0]='c',[1][1]='\0',[1][2]='\0'
/* 3.部分指定数组长度 */
char sArr5[][3] = {'a','b','c','d'};//(5) ---[0][0]='a',[0][1]='b',[0][2]='c'; [1][0]='d',[1][1]='\0',[1][2]='\0'
//char sArr6[2][] = {'a','b','c','d'};//(6) 错误语法,不是第一维的长度不能省略。
/* 4.以上数组的输出结果如下: */
【总结】
数组下标从0开始,数组元素在数组中所处的位置比下标大1.
数组在内存中的位置是连续的。
数组初始化时若指定了长度,则所占内存为类型字节数乘以长度;若初始化时未指定长度,则所占内存为类型字节数乘以实际元素个数。
对于未全员初始化的数组,依次将数组元素从左到右赋值给下标由小到大的数组变量。未赋值的数组变量则取默认值(一般整型默认值为0,字符型默认值为空)
- C语言动态数组
- C语言的数组
- c语言 数组 指针
- c语言数组详解
- C语言字符数组
- C语言--指针,数组
- C语言变长数组
- C语言数组
- C语言数组
- 【C语言】数组--待续
- C语言数组
- C语言 数组拆分
- c语言 动态数组
- C语言数组
- C语言:数组
- c语言指针数组
- c 语言数组
- C语言变长数组
- Spark基本原理与RDD
- 用setupapi.dev.log查找驱动安装过程中的错误
- HttpUtils全注解
- LeetCode 84. Largest Rectangle in Histogram
- java泛型中<? super String>和<? extends String> 的区别
- C语言数组
- 关于MySQL数据导出导入的文章,
- 双栈排序
- 单台主机上启动多个JBOSS的配置
- mvp架构模式
- javascript动画会飞的叶子
- UGUI 如何检测UI的双击
- Android 屏幕适配方案系列三
- 再说Android RecyclerView局部刷新那个坑