C++复合类型(数组)

1.数组

数组之所以被称为复合类型, 是因为它是使用其他类型来创建的

例如:

  short months【12】;

那么格式为

typename arrayname [arraysize]  注意:arraysize 不能是变量

索引和c语言的一样

初始化:

  正确:

      int card【3】={1, 2, 3};

  错误: -----只有定义数组的时候才可以初始化, 此后就不能在使用了, 并且不能将一个数组赋给另一个数组;

      int hand【4】;

      hand【4】 = {1, 2, 3};

      hand = cards;

    这样都是错误的, not allowed

如果初始化一部分, 编译器则把其他元素设置为0.
如果显式的将第一个元素初始化为0, 编译器会将所有元素都初始化为0. long a[200] = {0}; 如果{1} ,第一个元素被初始化为1, 其余为0
如果方括号里面为空
  short things [] = {1, 2, 3,4}; 那么编译器会帮我们计算,不过不建议这么做;
  如果需要这么做:
  short things [] = {1, 2, 3, 4};
  int num = sizeof things / sizeof (short);
  

sizeof 对类型名(如int)使用sizeof 运算符时, 应将名称放入括号里;
对变量名括号可选, 但通常sizeof intShort

1. 初始化的时候, 可以省略   =

double ea[3] {1, 2, 3};

2. {}为空, 所有元素也都设置为0;

3. 禁止初始化缩窄转换

long a[] = {1, 2.0};

原文地址:https://www.cnblogs.com/renfanzi/p/7183805.html