数组的简介
概念:
数组,将一到多个相同类型的对象连到一起,组成的类型。
将一块块相同的羊肉串,串到一起,就叫数组。
int a;
int x[10];
为什么要特意强调相同类型,因为类型不同,不只是所占的尺寸不同,而且不同类型所能执行的操作也是不同的。
猪肉串一个价格羊肉串一个价格,烤的手法也不一样。
a就是int 类型,x是int[10]类型的。
int x;
cin>>x;
int a[x];
这种是不被认可的,因为x只有在运行期才能被赋值,这对数组的操作来说不被允许。
数组初始化
int b[3];
int b[]={1,2,3};
第一种叫缺省初始化,第二种叫聚合初始化,我写的这两种效果是一样的。
int b[];
但是这种是不被允许的,烤羊肉的手法基本确定,你用不符合标准的手法烤羊肉串,烤出来不好吃啊。
数组的复杂声明
int* a[3];
int (*a)[3];
第一个声明了数组a里面放了3个指针还都是int*,第二个声明了a是一个指针,指向int[3]类型。这就相当于不止有五花串和羊肉串还有一些特殊的也能串在一起,烤蝎子,烤大蒜这些。
注意:
1.不能用auto初始化数组
2.元素个数必须是常量表达式,也就是编译器就可计算的,运行期才知道的不行。
3.字符串搞特殊
char str[]={'h','e','l','l','o'};
char str[]="hello";
如果是第二种写法的后面是要加\0的