数组a.格式:
数据类型 数组名[元素个数]
b.赋值方式:
1、单个赋值 a[0] = 10;
2、整体赋值(初始化) int a[2] = {1,2};(整体赋值只能在初始化时使用)。
c.遍历数组
利用循环
d.初始化
只能在定义数组的同时进行初始化
int a[5] = {1,2,3,4,5};
int b[5] = {1,2};(值赋值了0.1两个元素,后面3个都是0)
int c[10] = {[2] = 10, [8] = 55};(只给2和8两个元素赋值,其他都为0)
int d[] = {1,2,3,4};(该数组长度为4)
e.注意点:
1、单独 int a[];这样写是不对的。无法分配内存给数组。
2、int a[5];
a = {1,2,3,4,5}; (这样写是错误的,首先数组名是数组首字符的地址,a == &a[0],其次整体赋值只有在定义数组时使用,之后不可使用)
3、int a['A'] = {1,2,3,4,5};(这样写是没错的,代表这个数组长度是65)
4、int count = 4;
int a[count] = {1,2,3,4};(这样写是错误的,初始化数组时,数组的元素个数只能是一个常量,、常量表达式或不写,不能是变量)
5、int count = 4;
int a[count];
a[0] = 1;
a[1] = 2;(先定义变量,在定义数组,然后在一一赋值,这样是可以的。但要给数组一一赋值,否则数组的每个值会是任何值。)
f.获取数组元素的个数
利用sizeof来判断数组元素的个数。
假设已经初始化了一个整型数组a
int count = sizeof(a) / sizeof(int);
(注意,这个方法不能用在函数中来判断参数的长度,因为数组作为参数,实际上就是一个指针,sizeof(指针)结果是指针所占的字节数。)
g.数组在内存中的存储
和变量一样,分配内存时都是从大到小,数组元素在分配的控件中从低地址向高地址排列。但是注意数组的数据类型,int型,每个元素占4个字节,char型,每个元素1个字节。
h.数组或数组名作为函数参数传递的是地址。数组元素作为函数参数传递的是值。
|
|