c语言中的数组,一维二维的概念和定义

来源:互联网 发布:空浪 知乎 编辑:程序博客网 时间:2024/06/06 08:43

数据类型:(C语言)基本类型(整形,字符型,实型)、构造类型、结构体、共用体类型。

构造类型:有其基本的数据类型按照一定的规则组成的,因此它们称为导出类型。
(也就是:构造体)

数组可以说也是构造类型的。数组是有序数据的集合。

数组常常是和循环一起使用的,可以处理大批量的数据。

一、一维数组
1、一维数组的定义
类型说明符 数组名[常量表达式];
eg:int a[10];
1)数组名的命名规则和变量是相同的,遵循标识符命名规则;
2)定义数组的时候需要制定数组的个数,即为数组的长度。
3)常量表达式可以包含有常量和符号常量,不能够包含有变量。
(也即是c语言不允许数组的大小做动态定义,即为:数组中的大小不依赖于程序运行的过程中变量的值。)

说明:数组的大小在定义的时候是确定的,不能够是变量。

2、一维数组的引用(使用)
(c语言只能够逐个引用数组元素而不能够一次引用整个数组)
格式: 数组名[下标]
说明:注意定义的时候: “数组名[常量表达式]” 和 引用数组元素时用到的“数组名[下标]” 的区别。

3、以为数组的初始化
1)定义数组的时候对数组元素赋予初值
int a[10] = {0,1,2,3,4,5,6,7,8,9};
(字符串使用字符数组来初始化的时候也是一样) 

2)可以只给一部分元素赋值
int a[10] = {0,1,2,3,4}; 其他的后面的都是默认为0

3)若是全部的数组元素初始值为0 ,可以使用
int a[10] = {0,0,0,,0,,0,0,0,0,0,0,0,0,0};
or 
int a[10] ={0};
not
int a[10]={0*10};


4)对全部元素进行初始化的时候,可以不用写数组大小,
eg:
int a[5]={1,2,3,4,5};
可以写成:
int a[]={1,2,3,4,5};

若是只是定义部分的元素,就不能够省略数组的大小了。

二维数组
1、二维数组的定义
格式:
类型说明符 数组名[常量表达式][常量表达式];
eg:
float a[3][4] ,b[5][10] 
定了了:a为3(行)*4(列) 的数组, b为5(行)*10(列)的数组

二维数组 可以看成 一维数组中的元素又是一个二维数组。
其他的多为的数组是同样的。

2、二维数组的引用(使用)
格式:数组名[下标][下标]
eg:
int a[2][3];

3、二维数组的初始化
1)
分行给二维数组赋初值(定义的时候赋值)
int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};

2)可以将所有的数组放在一个括号内
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

3)可以对部分元素赋值
int a[3][4] = {{1},{5},{9}};


4)如果对全部的元素赋值(即为:提供全部的初始数据),则定义时候尅对第一维的长度不指定,而第二维的长度不能够省。
eg:
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
等价于:
int a[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};


在实例当中,我们都是通过循环和数组进行合用,很好的变量处理复杂的数据。


1 0
原创粉丝点击