一维数组:
创建
type_t arr_name [const_n]
int arr1[10];
char arr2[10];
float arr3[10];
double arr4[2];
初始化
int arr[10] = {1,2,3};
int arr1[]={1,2,3,4};
char arr2[3]={'a',98,'c'};
char arr3[]={'a','b','c'};
char arr4[]="abcdef";
一维数组的使用
下标引用操作符[]
#include<stdio.h>
int main()
{
int arr[10]={0};
int i=0;
for(i=0;i<10;i++)
{
arr[i]=i;
}
//输出数组的内容
for(i=0;i<10;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
在内存中的存储
由输出结果可得,数组在内存中是连续存放的。
由输出结果可得,数组的数组名就是首元素的地址
二维数组:
创建
int arr[3][4];
char arr[3][5];
double arr[2][4];
初始化
int arr[3][4]={1,2,3,4};
int arr[3][4]={{1,2},{3,4}};
int arr[][4]={{2,3},{4,5}};
二维数组的使用
下标引用操作符
#include<stdio.h>
int main()
{
int arr[3][4] = { 0 };
int i = 0;
for (i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 4; j++)
{
arr[i][j] = i * 4 + j;
}
}
//输出
for (i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 4; j++)
{
printf("%d ", arr[i][j]);
}
}
system("pause");
return 0;
}
在内存中的存储
由输出结果可得,数组在内存中是连续存放的
arr[0]即为二维数组的首元素,所以数组的数组名就是首元素的地址也就是arr[0]的地址,即就是第一行的地址。
有关数组的计算
sizeof对于一维数组和二维数组的计算