在二维数组创建中
int arr[][4] = {{1, 2},{3, 4, 5},{6}};可以
arr[3][] = {{1, 2},{3, 4, 5},{6}};是不可以的。
------------------------------------------------------------------------------------------------------------------------------------------------------
二维数组通过下标使用或者输出
int arr[3][5] = { 0 };
int i = 0;
int j = 0;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 5; j++)
{
arr[i][j] = i * 5 + j + 1;
}
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 5; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
a[i][j]中[i]表示行数从0开始,[j]表示列数同样从0开始。
------------------------------------------------------------------------------------------------------------------------------------------
//一维数组
int a[] = { 1, 2, 3, 4 };
printf("%d\n", sizeof(a));//16
数组名单独放在sizeof内部,数组名表示整个数组,所以sizeof(数组名)计算的是是数组总大小,单位是字节
printf("%d\n", sizeof(*a));//4 a是首元素地址,*a是首元素--1,int型占4个字节大小
printf("%d\n", sizeof(a[1]));//4 a[1]--第二个元素