行指针指向二维数组
指向多维数组的问题要注意一下:
指针的使用灵活多变,一定要记好指向一位数组的指针它的形式是如何的:
float (*pointer)[5] 一定要记好它是有小括号的,float *pointer[5] 是错误的,不要犯此错误,
当定义了二位数组float student[10][5], 另有定义了输入函数Input (float (*pointer)[5] );
1 float student[10][5]; 2 3 Input (float (*pointer)[5] ); 4 5 Input (student);
也就把student的首行地址复制给了pointer,可以对pointer运用指针进行对数组的操作,完全和student一样。
也即,二维数组做函数参数时一定要考虑好形参是指向一位数组的指针还是指向某行某列元素的指针,一般来说用指向一维数组的指针更方便。
而且也要把指向一位数组的指针与返回指针值的函数区分开来。返回指针值的函数:
Int *p (int x, int y)
定义指针时一定要初始化,一定要对其赋值,避免成为野指针。