概念
所谓数组,就是一个集合,里面存放了相同类型的数据元素
特点:
- 数组中的每个数据元素都是相同的数据类型
- 数组是由连续的内存位置组成的
一维数组的定义方式
数据类型 数组名[数组长度];
数据类型 数组名[数组长度] = {值1,值2,...};
数据类型 数组名[ ] = {值1,之2,...};
方式1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include<iostream> using namespace std;
int main() { int arr[5]; arr[0]=0; arr[1]=10; arr[2]=20; arr[3]=30; arr[4]=40; cout<<arr[2]<<endl; return 0; }
|
方式2
1 2 3 4 5 6 7 8 9 10
| #include<iostream> using namespace std;
int main() { int arr[5] = {0,10,20,30,40}; cout<<arr[2]<<endl; return 0; }
|
方式3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include<iostream> using namespace std;
int main() { int i; int arr[]={0,10,20,30,40}; for(i=0;i<5;i++) { cout<<arr[i]<<endl; }
return 0; }
|
一维数组数组名
用途:
- 可以统计整个数组在内存中的长度
- 可以获取数组在内存中的首地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include<iostream> #include<iomanip> using namespace std; int main() { int arr[] = {0,1,2,3,4}; cout<<sizeof(arr)<<endl; cout<<sizeof(arr[0])<<endl; cout<<arr<<endl; cout<<(int) arr<<endl; cout<<&arr[0]<<endl; cout<<(int)&arr[0]<<endl; cout<<(int)&arr[1]<<endl; return 0; }
|
数组名是常量,不能赋值
二维数组定义方式
数据类型 数组名[行数] [列数];
数据类型 数组名[行数] [列数] = {{数据1,数据2},{数据3,数据4}};
数据类型 数组名[行数] [列数] = {数据1,数据2,数据3,数据4};
数据类型 数组名[] [列数] = {数据1,数据2,数据3,数据4};
建议使用第二种, “=”可有可无
第一种
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #include<iostream> using namespace std; int main() { int arr[2][3]; arr[0][0]=1; arr[0][1]=2; arr[0][2]=3; arr[1][0]=4; arr[1][1]=5; arr[1][2]=6; cout<<arr[0][0]; cout<<arr[0][1]; cout<<arr[0][2]; cout<<arr[1][0]; cout<<arr[1][1]; cout<<arr[1][2]; cout<<endl; int i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { cout<<arr[i][j]; } cout<<endl; }
return 0; }
|
第二种
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include<iostream> using namespace std; int main() { int arr[2][3] { {1,2,3}, {4,5,6} }; int i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { cout<<arr[i][j]; } }
return 0; }
|
第三种
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include<iostream> using namespace std; int main() { int arr[2][3]={1,2,3,4,5,6};
int i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { cout<<arr[i][j]; } cout<<endl; }
return 0; }
|
第四种
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include<iostream> using namespace std; int main() { int arr[][3]{1,2,3,4,5,6};
int i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { cout<<arr[i][j]; } cout<<endl; }
return 0; }
|
二维数组数组名
用途
查看二维数组所占内存空间
获取二维数组首位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include<iostream> using namespace std; int main() { int arr[2][3] { {1,2,3}, {4,5,6} }; cout<<sizeof(arr)<<endl; cout<<sizeof(arr[0])<<endl; cout<<sizeof(arr[0][0])<<endl; cout<<sizeof(arr)/sizeof(arr[0])<<endl; cout<<sizeof(arr[0])/sizeof(arr[0][0])<<endl; cout<<arr<<endl; cout<<(int) arr<<endl; cout<<(int) arr[0]<<endl; cout<<(int) &arr[0][0]<<endl; cout<<(int) arr[1]<<endl; return 0; }
|