一维数组:
int arr[3] = {0}; //数组arr[3]代表一个数组内有三个元素值,
//={0}代表初始化第一个元素为0。
//初始化部分元素后,剩余的所有元素默认为0。
如何读取数组内的某个元素的值呢?
printf("%d",arr[3]); //数组arr[3]本身就是地址,
//所以不用加地址符&,这里的[3]是这个arr数组中的下标
在使用数组时,arr[3]里的3代表这个arr这个数组里的下标3,如数组1,2,3,4,5 它的下标就是 0,1,2,3,4
int arr[3]={1, 2, 3, 4, 5};
//下标:0, 1, 2, 3, 4
在使用arr[3]时,我们使用的实际数其实时下标3对应的 元素4。
二维数组:
int arr[2][4] = { 0 };
在二维数组中,我们有了行和列,2代表有2行,也就是有两个一维数组。
4代表有四列,也就是每个一位数组有四个元素,总结这段代码就是有两个四个元素的一维数组组成的,他们在内存中跟同一个数组一样,地址时挨着的。
如何使用二维数组中的元素值呢?
我们现在有了两个标,比如数组中第一个数 1 ,他的坐标就是[0][0]; 第二个数 2 的坐标就是 [0][1]
int arr[2][4]={1,2,3,4,5,6,7,8};
printf("%d",arr[0][0]);
//这样我们打印出来的数就是数组中第一个数 1 。
正常打印了
如何让二维数组分开存储数据呢?
比如我们的arr[2][4]数组中可以存放八个元素,我们想第一个一维数组存放1,2,第二个数组存放 3 , 4。
int arr[2][4]={{1,2}{3,4}};
我们有两个一维数组,所以在花括号里分两个花括号分别对应两个数组,这样我们打印arr[2][4]数组就会打印出,1,3,0,0,3,4,0,0
int main()
{
int i = 0;
{
int arr[2][4] = { {1,2} ,{3,4} };
for (i = 0; i < 2; i++)
{
int j = 0;
for (j = 0; j < 4; j++)
{
printf("%d ", arr[i][j]);
}
}
}
}
正常打印出了。