数组
·数组是一个同一类型数据的排列
·数组元素:数组排列里每一个数据
·数组类型:数组里数据的类型
·数组名:数组的名称,索引的关键字
·数组下标:每一个元素所在的位置
·数组索引:数组名与下标的组合,定位出元素的过程
------------------------------------------------------------------------------------------------------------
数组的定义:
int a[5];//定义一个整形数组,有5个元素
注意事项:
·方括号里只能是常量,不能是变量
·下标从0->n-1
------------------------------------------------------------------------------------------------------------
数组初始化
·int arr[5]={1,2,3,4,5}; // 全部初始化
·int arr[4]={1,2,3};//部分初始化
·int arr[]={1,23,4,54,1144};//数组的长度由后面的个数决定
·int arr[5]{1,6,3,4,5};//新标准C++11
--------------------------------------------------------------------------------------------------------------
int char bool可以相互转换
--------------------------------------------------------------------------------------------------------------
·数组名是数组内存地址
·对元素操作只能通过下标操作
·未初始化的元素值为0
·不允许将一个数组赋值给另一个数组
·sizeof()返回所占字节数,只能对于类型
--------------------------------------------------------------------------------------------------------------
·数组长度=sizeof(数组名)/sizeof(类型)
用for循环遍历数组
int arr[15] {...........................};
for(int i=0;i<sizeof(arr)/sizeof(int);i++)
{
...
}
---------------------------------------------------------------------------------------------------------------
二维数组:
·数组下标类型:size_t;
·二维数组的声明:int arr[2][4];
·二维数组的赋值:int arr[2][3]={1,2,3,4,5,6}; int arr[2][3]={{1,2,3},{4,5,6}}; int arr[2][3]={0}; int arr[2][3]={{1},{2}}; int arr[2][3]={{1,2,3},{1}};
·值类型声明在函数内,会被初始化,在函数外,不会被初始化。(理论上)
·在C/C++中,只要是数组(包括二维数组),那么他的内存都是线性的,像我们的布局那样表状。->这种模型可以被称作“直尺模型”。