C++ 数组知识小结

C语言数组的创建

方法一:全部不初始化

//方法一
int moths[12];  //创建一个数组,为int型,不初始化
//其可以抽象化为
typeName arrayName[arraysize]

typeName就是上式中的int
arrayName就是上式中的moths
12就是上式中的12

其中对arraysize有以下几点要求

  1. 它必须是整数如10、20
  2. 如果不是整数是变量,那么必须是被const修饰的变量
  3. 也可以是表达式常量如8*sizeof(int)

总结起来就是 arraysize的值在被编译的时候要是一个已知的值

方法二:部分初始化

float hotelTips[5]={5.0,2.5};

如果只对数组的一部分进行初始化,则数组的其它值会默认设置为0如上面初始化所示则有
hotelTips[0]=5.0
hotelTips[1]=2.5
hotelTips[3]=0.0
……
hotelTips[4]=0.0

方法三:全初始化但不指定数组长度

int things[]={1,2,3,4};

则编译器会默认things的长度为4

方法四:全初始化并指定数组长度

int things[4]={1,2,3,4};

这个就是最完整的数组初始化方法了

C++11的关于数组的新特性

  1. 在初始数组的时候可以省略=
double earnings[4] {1.2e4,1.6e4,1.1e4,1.7e4};
  1. 可以不在大括号内包含任何东西如下所示,这样所有元素都会被设置为0
float balances[100]{};
  1. 列表初始化禁止缩窄转换
long plifs[]={25,92,3.0};//not allowed
char slifs[4]{'h','i',1122011,'\0'};//not allowed
char tlifs[4]{'h','i',112,'\0'};//allowed
  • 上述代码中第一条不能通过,因为将浮点型转换为整形是缩窄操作
  • 第二条也不能通过,因为1122011超过了char的取值范围
  • 第三条可以编译通过
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值