1个回答
展开全部
int (*pstu)[4]; 为指向有4个元素的数组的指针
int* getPosPerson(int pos, int (*pstu)[4]); 为返回值为指针的函数
注意这是指针函数,而不是函数指针,后者为指向函数的指针变量,两者含义是不同的
(类似指针数组和数组指针,两者含义也是不同的,一个本质是数组,一个本质是指针)
调用该函数的语句为:ppos = getPosPerson(pos, scores);
传入的scores表示3行4列的二维数组首行数组的地址,即&scores[0]
调用后相当于int (*pstu)[4]=scores,所以在getPosPerson中pstu与scores是等价的
即pstu可看作&scores[0],那么pstu+pos也就等价于scores+pos,等价于&scores[pos]
即返回了指向&scores[pos](也就是scores第pos+1行的地址)的指针
返回该行指针ppos 后,就可以查看该行表示的学生的4科成绩了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询