数组指针的简单应用
- 数组指针本质上是一个指针;
- 指向数组首元素地址;
- 应用
int main() {
float score[][2] = { { 88, 99 }, { 79, 85 }, { 99, 98 }, {100,100} };
float(*p)[2];
p = (float(*)[2])score;
int i, num;
while (1)
{
cout << "请输入学生序号:";
loop:cin >> num;
if (num >= sizeof(score)/sizeof(score[0]))
{
cout << "该学生不存在,请重新输入:";
goto loop;
}
for (i = 0; i<2; i++)
cout << *(*(p + num)+ i) << " ";
cout << endl;
}
system("pause");
return 0;
}
- float(*p)[2];-------函数指针的定义得记清楚;
- p是指向二维数组的指针,默认指向二维数组的首地址即第一个学生的语数成绩的地址,所以**p 的数值是 88;
*(*(p + num)+ i)
中的num代表行,i代表列。