指针与数组
1、指针与二维数组
利用指针访问二维数组:列指针、行指针
(1)列指针
(2)行指针
行指针定义:
类型名 (*指针变量名)[n];
int (*p)[4];
定义一个行指针变量p,p能指向一个长度为4的一维数组。
行指针的赋值:
行指针变量=数组名;
int a[3][4];
p=a;
p就指向a数组第0行的首地址。 &a[0]
p+1:
p+i:指向a数组第i行 &a[i]
*(p+i):第i行首元素地址 &a[i]
*(p+i)+j:第i行第j列元素的地址 即 &a[i][j]
*(*(p+i)+j):第i行第j列元素,即a[i][j] 等价于 p[i][j]
*a:a[0],即第0行第0列元素的地址
问题:一个班10个人,5门课,统计期末考试中需要重修的学生人数(只算人数,不统计重修门数)
分析:
cnt=0;
遍历所有学生成绩(以行为单位)
{ 判断当前行有无不及格,如有cnt++; }
[1]
[2]
[3]
[4]
[5]
下一页