从两行代码讲解:
int vector[10], *vp = vector;
int matrix[3][10], *mp = matrix;
第一个声明是合法的.它为一个整型数组分配内存,并把vp声明为一个指向整型的指针,并把它初始为指向vector数组的第一个元素. vector和vp具有相同的类型;指向整型的指针;
第二个声明是非法的. 它正确的创建了matrix数组,并把mp声明为一个指向整型的指针, 但是mp的初始化是不正确的,因为matrix并不是一个指向整型的指针,而是一个指向整型数组的指针.
正确的声明一个指向整型数组的指针: int (*p)[10];