C 语言数组
一:
数组就是含有多个数据值的数据结构,并且每个数据结构具有相同的数据类型这些数据称为元素。
声明数组,需要指明数组元素的类型和数量int【10】类型是int,数量是10.
程序以后的改变会调整数组的长度,通常用宏定义的方法。
#define N 10;
Int a【N】
为了存取特定的数组元素,可以写数组名字的同时后面再加上整数值,进行索引a【0】、a【1】..................
通常数组和for循环一起联合起来使用,例如:
For(i=0;i<n;i++)
a【i】=o;
(所有数组元素都赋值为0)
For(i=0;i<N;i++)
Scanf (“%d”&a[i]);
(输入所有的数组的值)
For (i=0;i<n;i++)
Sum+=a[i];
(把数组的值加起来)
注意,经常回导致未定义行为,例如:
(1) i=0;
While (i<N)
a[i++]=0
把变量i设置为0后,while语句判断i是否小于N,当如果是,那数值0赋值给a【0】随后i++,注意啊a【++i】是不对的因为第一次循环期间会把0赋值给a【1】
(2)i=0;
While (i<n)
a[i]= b[i++];
表达式 a[i]= b[i++]会访问并且修改i的值,这样会导致未定义行为,当然,通过以下行为会避免事情的发生。
For(i=0;i<N;i++)
a[i]=b[i];
二:
数组的初始化:
(1)Int a【10】={1,2,3,4,5,6,7,8,9,0,}用逗号隔开,分别列出来各个元素,
(2)Int a [10]={1,3,2,3}l列出了四个,其余的都赋值为0;
Int a【10】={0}
初始化完全为空是非法的,所以要放一个0。
(3)有时可以省略掉数组的长度,直接列出数组的元素,
Int a []={1,2,3},有三个元素的数组
制指定初始化:
Int a [15]={[2]=78,[5]=7}其余的都为0
多维数组:
二维数组用int【N】【N】来表示,
访问数组的每个元素,用一下代码:
#define N 10
Double idet[N][N]
Int row,col;
For (row=0;row<N;row++)
For (col=0;col<N;col++)
If (row==col)
iDent[row][col]=1.0;
Else
Ident[row][col]=0;
多为数组的初始化:
常量数组:
无论是以为还是多维,都可以在声明出加上const而成为常量const char hex—chars【】{
‘0’,‘1‘,’2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘a’,‘s‘,’D‘}