int i;
int *a = &i; //这里a是一个指针,它指向变量i
int &b = i; //这里b是一个引用,它是变量i的引用(别名)
int * &c = a; //这里c是一个引用,它是指针a的引用
int **d = a; //d是一个指向指针a的指针;
int** &e= d; //e是一个引用,他是指向指针a的指针的引用
int & *d; //这里d是一个指针,它指向引用,但引用不是实体,所以这是错误的
int *p[] //指针数组
int (*p)[] //指向数组的指针
int &a; //只声明而不初始化是错误的,因为引用就是一个别名,
//如果不指明它是谁的别名,则会报错
//引用必须初始化,引用初始化就是将引用绑定到一个变量上。