所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。
数组有三种定义方式:
- 数据类型 数组名[数组长度];
- 数据类型 数组名[数组长度]={元素1,元素2......};//数组长度代表元素的个数,这是由你自定义的,且不能少于元素个数
- 数据类型 数组名[]={元素1,元素2......};//元素有多少个,[]里会自动分配数组长度
int a[10] = { 1,2,3,4,5,6,7 };
/*我们想要取得数组里的的,就要再次调用数字名,而[]里的数变成了下标,
计算机计数是从0开始的,所以我们定义了a[10]数组,但元素是a[0]——a[9]*/
cout << a[0] << endl;//输出1
cout << a[7] << endl;//未定义的元素,系统自动填充0
for(int i=0;i<10;i++){//我们还可以用for循环逐个输出
cout<<a[i]<<endl;
}
内存和地址的关系
数组名的代表的是这个数组的首地址

int arr[5];
cout<<arr<<endl;//输出的正是a[10]这个数组的首地址
cout<<&arr[0]<<endl;//结果同上
cout<<sizeof(arr)<<endl;//得到20,可知数组并不会多占用内存
作业:找一个数组中的最大值和最小值
元素逆置
int arr[7] = { 1,2,3,4,5,6,7 };
int start = 0,end=6;//扩展,end=sizeof(arr)/sizeof(arr[0])
for (int a=0; a < 7; a++) {
cout << arr[a] << endl;
}
while (start < end) {
int temp=arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
for (int a = 0; a < 7; a++) {
cout << arr[a] << endl;
}
二维数组

int arr[2][3]={//两行三列
{1,2,3},
{4,5}
};//加上;
cout<<arr[0][1]<<endl;//
其余和一维数组大致相同;
作业:计数