首先,数组是什么?
数组(array)是一种数据格式,能够储存多个同类型的值。
每一个值都存储在一个独立的数组元素中,计算机在内存中依次储存数组的各个元素。
那么,数组长什么样呢?
要创建数组课使用声明语句。
数组声明应指出以下三点:
1)储存在每个元素中的值的类型;
2)数组名;
3)数组中的元素数
在C++中,可以通过修改简单变量的声明,添加中括号(其中包括元素的数目)来声明数组。
例如:
int arr[128];//声明了一个可以存放128个int类型变量的数组arr
char arr2[20];//声明了一个可以存放20个char类型变量的数组arr2
double arr3[128];//声明了一个可以存放128个double类型变量的数组arr3
上面介绍完数组,下面我在分享一些关于数组的初始化规则:
①只有在定义数组时才能使用初始化,此后就不能使用了,也不能将一个数组赋给另一个数组;
int id[5] = {1,2,3,4,5}; //ok
int num[5]; //ok
num[5] = {9,8,7,6,5}; //no
num = id; //no
不过之后,可以通过下标来给数组中特定元素赋值,
比如: num[0] = 1;num[1] = 2;
②可以提供的值可以少于数组的元素数目。
比如:int arr[10] = {1,2,3,4,5};
③如果只对数组的一部分进行初始化,则编译器将把其他元素设置成0。
所以如果想把数组的元素都初始化为0,只需讲数组初始化为 {0}。
④如果初始化为{1}而不是{0},则第一个元素被设置成1,其他元素都被设置成0。
⑤如果初始化数组时方括号内([])为空, C++编译器将计算元素个数。
比如:int data[] = {1,2,3,4,5,6};
编译器将使data数组包含6个元素。
⑥在多维数组中只能省略第一维[]中的数据。
除此之外,在C++11新加了一些功能:
①初始化数组时,可省略 = 号。
②可不在大括号内包含任何东西,这将把所有元素设置为0。
③列表初始化禁止缩窄转换
比如:
long arr[] = { 2 , 4 , 3.0 };//no
char arr1[4] = { 'h' , 'i' , 300 , '\0' };//no
char arr2[4] = { 'h' , 'i' , 100 , 'r' };//ok
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!