重要准则:
数组的下标从0开始,且数组是按行存储的。
因为按行存储,所以存在数组下标越界的问题。
下面我们来看一个数组下标越界的问题
一维数组越界
#include<stdio.h>
int main()
{
int i,a=1,c=2,b[5] = {0};
printf("%p,%p,%p,%p\n",b&,&a,&i);
for(i=0;i<8;i++) //越界访问
{
b[i] = i;
printf("\n c=%d, a=%d, i=%d\n",c,a,i);
return 0;
}
#include<stdio.h>
int mian()
{
int i,j;
int a[2][3] = {0};
a[3][0] = 6;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
return 0;
}
小结
使用数组的基本原则
永远清楚每个数组有多大,永远不要让下标越界。
字符数组永远留意’\0’