数组是若干个相同类型 的变量在内存中有序存储的集合。
int a[10];//定义了一个整型的数组a,a是数组的名字,数组中有10个元素,每个元素的类型都是int类型,而且在内存中连续存储。
这十个元素分别是a[0] , a[1] , … , a[9]
a[0] ~ a[9] 在内存中连续的顺序存储
即若干个字符变量的集合,数组中的每个元素都是字符型的变量
char s[10]; // s[0] , s[1] , … , s[9];
short int a[10];
int a[10];
long int a[5];
float a[6]; // a[4] = 3.14f;
double a[8]; // a[7] = 3.1415926;
char *a[10];
int *a[10];
struct stu boy[10];
一维数组
int a[30];
二维数组
int a[2][30];
多维数组
int a[4][2][10];
三维数组是由多个相同的二维数组构成的
定义一个数组,在内存里分配空间
格式:
数据类型 数组名 [数组元素个数];
int a [10];
char b [5]; // 定义了5个char类型变量的数组b
在数组定义的时候可以不给出数组元素的个数,根据初始化的个数来定数组的大小。
#include
int main()
{
int a[5];
int b[] = { 1,6,9,3 };
printf("sizeof(a)=%d\n", sizeof(a));
printf("sizeof(b)=%d\n", sizeof(b));
return 0;
}
格式:
数据类型 数组名 [行的个数][列的个数];
int a [4][5];
定义了20个int类型的变量,分别是:
a[0][0] , a[0][1] , a[0][2] , a[0][3] , a[0][4];
a[1][0] , a[1][1] , a[1][2] , a[1][3] , a[1][4];
a[2][0] , a[2][1] , a[2][2] , a[2][3] , a[2][4];
a[3][0] , a[3][1] , a[3][2] , a[3][3] , a[3][4];
二维数组在定义的时候,可以不给出行数,但必须给出列数,二维数组的大小根据初始化的行数来定。
#include
int main()
{
int a[3][4];
int b[][3] = {
{1,2,3},
{4,5,6},
{7,8,9},
{10,11,12},
{13,14,15}
};
printf("sizeof(a)=%d\nsizeof(b)=%d\n", sizeof(a),sizeof(b));
return 0;
}