数组相关注意

一维数组:如 a[10]
注意事项: 1.常量表达式中不能包括变量,如
int i;
scanf("%d",%i);
int a[i];
是不可行的。
2.数组元素的下标从0开始,如定义"int a[10];“最大下标值为9;常见错误有:
for(i=1;i<=10;i++) //循环变量从1开始,变到10
a[i]=i; //下标从1开始,变到10
for(i=10;i>=1;i–) //试图输出a[10]~a[1]
printf(”%d",a[i]);

二维数组: 如 a[3][4]
1.在引用数组元素时,下标值应在已定义的数组大小的范围内。行序号和列序号均从0起算。
2.在定义数组时对第一维的长度可以不指定,但第二维的长度可以不能省。例如
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};
系统会根据总个数和第二维的长度算出第一维的长度。

字符数组:如char c[2];
c[0]=‘w’;c[1]=‘e’;
1.数组定义的长度应大于等于字符串中包括’\0’在内的字符个数。’\0’是字符串结束标志。
2.数组本身是一个地址。可输入scanf("%s",c); 数组名表示数组第一个元素的地址。
3.不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。以下两行都是不合法的。
str1=“China”; //企图用赋值语句将一个字符串常量直接赋给一个字符数组
str1=str2; //企图用赋值语句将一个字符数组直接赋给另一个字符数组
应用strcpy进行复制。如
char a[5],c1,c2;
c1=‘A’;
c2=‘B’;
a[0]=‘C’; a[1]=‘h’; a[2]=‘i’; a[3]=‘n’; a[4]=‘a’;
4.在使用字符串处理函数时,应当在程序文件的开头用
#include <string.h>
把string.h文件包含到本文件中。

猜你喜欢

转载自blog.csdn.net/qq_43597158/article/details/84337814