首先,数组能存放大多数类型的对象。
分一下情况:
- 定义存放指针的数组【难度:一颗星】
- 定义指向数组的指针【难度:三颗星】
- 定义数组的引用【难度:三颗星】
int *ptrs[10]; // array containing 10 int pointers
int &ptrs[10] = ?; // unwork, wrong writing
int (*ptrs)[10] = &arr; // pointer pointing to array containing 10 int elements
int (&ptrs)[10] = arr; // reference referring to array containing 10 int elements
引用(reference):
- 何谓“引用”,这么说吧,相信每个人都有个乳名,后来等到你升学入职啥的发现乳名B格很Low ! 这时候需要为自己起另外一个名字,这就是引用 ! 是一个过程,引用就是为对象另起了一个名字.
对于1,理解复杂的数组声明可以采用一点技巧,一个语句,从右往左,首先知道大小为10的数组,名字是ptrs,存放着指向int的指针=>ptrs这个数组存放着10个指向int的指针。
对于2,括号是当做整体,不可分开,首先阅读圆括号,(*ptrs)暗示ptrs是个指针,然后右边有个10,从而知道指向长度10数组。
对于3,括号优先,引用->引用长度10数组