数组是一类相同元素的集合
在数组创建时:C99标准之前不支持元素个数为变量的变长数组,C99标准之后元素个数可以是变量
数组下标从0开始,依次递增1 , 数组下标是用来访问数组内容的
依次输入数组元素
int main()
{
int arr[10] = { 0 };
int i = 0;
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
依次输出数组元素
依次打印数组元素地址
一维数组在内存中是连续存放的
一维数组随着数组下标的增长,地址是由低到高变化的
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int* p = arr;
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%pn", p + i);//打印下标为i的数组元素地址
printf("%d ", *(p + i));//打印下标为i的数组元素
}
}
二维数组
int arr[3][4]={1,2,3,4}; 三行四列
行元素个数可以省略,列元素个数不可以省略
依次打印二维数组元素
int main()
{
int arr[3][4] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
for (i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 4; j++)
{
printf("%2d ",arr[i][j]);
}
printf("n");
}
}
依次打印二维数组元素地址
int main()
{
int arr[3][4] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
for (i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 4; j++)
{
printf("&arr[%d][%d]=%pn", i, j, &arr[i][j]);
}
}
}
二维数组在内存中连续存放的,一行内连续,跨行也连续
二维数组随着数组下标的增长,地址是由低到高变化的
数组越界:若数组有n个元素,则下标为0-n-1,若超过这个范围则为数组越界
数组名是首元素地址,但有两个例外
sizeof(数组名)-->此时数组名表示整个数组
&数组名-->此时数组名表示整个数组



