数组
数组特点:
1、每个数据元素都是相同的数据类型
2、由连续的内存位置组成
一维数组的定义方式(三种)
C++数组下标默认从0开始
- 数据类型 数组名[数组长度];
int a[10];
for(int i=0;i<10;i++){
a[i]=i;
}
- 数据类型 数组名[数组长度]={值1,值2…};
int a[10]={0,1,2,3,4,5,6,7,8,9};
- 数据类型 数组名[]={值1,值2…};
int a[]={0,1,2,3,4,5,6,7,8,9};
一维数组数组名作用
1、可以统计整个数组在内存中的长度。
2、可以获取数组在内存中的首地址。
int a[]={0,1,2,3,4,5,6,7,8,9};
for(int i=0;i<10;i++){
cout<<a[i]<<"\t";
}
cout<<"\n"<<a<<endl; //数组在内存中存放的首地址
cout<<sizeof(a)<<endl; //数组所占的内存空间 数组元素个数*数组数据类型
cout<<sizeof(a)/sizeof(int)<<endl; //数组元素的个数
for(int i=0;i<10;i++){
cout<<&a[i]<<"\t"; //输出每一个元素的首地址
冒泡排序Demo
int a[]={11,2,4,1,4,3,6,42,0};
int length=sizeof(a)/sizeof(int);
int k;
for(int i=0;i<length;i++){
cout<<a[i]<<"\t";
}
cout<<endl;
for(int i=0;i<length;i++){
k=i;
for(int j=i+1;j<length;j++){
if(a[j]>a[k]){
int temp=a[j];
a[j]=a[k];
a[k]=temp;
}
}
}
for(int i=0;i<length;i++){
cout<<a[i]<<"\t";
}
cout<<endl;
二维数组
二维数组定义方式
- 数据类型 数组名[行数][列数]
- 数据类型 数组名[行数][列数]={{数据1,数据2…},{数据3,数据4…}}
int a[3][3]={{1,2,3},{4,5,6}};
- 数据类型 数组名[行数][列数]={数据1,数据2,数据3,数据4…}
int a[3][3]={1,2,3,4,5,6,7,8,9};
- 数据类型 数组名[ ][列数]={数据1,数据2,数据3,数据4…}
int a[][3]={1,2,3,4,5,6,7,8,9};
二维数组名称
- 查看二维数组所占空间
- 查看二维数组在内存中存放的首地址
int a[3][3]={1,2,3,4,5,6,7,8,9};
cout<<"二维数组在内存中存放的首地址="<<a<<endl;
cout<<"二维数组占用的内存空间="<<sizeof(a)<<endl;
cout<<"二维数组中的元素个数="<<sizeof(a)/sizeof(int)<<endl;
cout<<"二维数组一行占用的内存空间="<<sizeof(a[0])<<endl;
cout<<"二维数组行数="<<sizeof(a)/sizeof(a[0])<<endl;
cout<<"二维数组列数="<<(sizeof(a)/sizeof(int))/(sizeof(a)/sizeof(a[0]))<<endl;