page contents

关于数组的初始化(C++)

首先,数组是什么? 数组(array)是一种数据格式,能够储存多个同类型的值。 每一个值都存储在一个独立的数组元素中,计算机在内存中依次储存数组的各个元素。 那么,数组长什么样呢? 要...

首先,数组是什么?

数组(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

  • 发表于 2021-05-08 18:50
  • 阅读 ( 781 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
文双
文双

NB

71 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章