下载此文档

c语言-课件·PPT.ppt


文档分类:IT计算机 | 页数:约148页 举报非法文档有奖
1/148
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/148 下载此文档
文档列表 文档介绍
<
>
C语言程序设计第十章指针
由此可见:顺序输出数组元素方法简单
而指定输出数组元素则要进行地址的计算
如二维数组为 n × m (n为行, m 为列) 首元素地址为 a[0]
a[i][j]在数组中相对位置的计算公式:
i * m + j ( m为每行元素个数)
位移量的计算: a[1][1]=1*4+1=5
a[2][3]=2*4+3=11
若初值: p=a[0]
则: *(p+1*4+1)=*(p+5) a[1][1]
*(p+2*4+3)=*(p+11) a[2][3]
数组下标从0开始便于计算相对位置
a[2][3]
m
i=2
n
j=3
a[1][1]
<
>
指向由m个元素组成的一维数组的指针变量
定义形式: 数据类型(*指针名)[一维数组维数];
例 int (*p)[4];
C语言程序设计第十章指针
( )不能少
int (*p)[4]与int *p[4]不同
p的值是一维数组的
首地址,p是行指针
可让p指向二维数组某一行
如 int a[3][4], (*p)[4]=a;
一维数组指针变量维数和
二维数组列数必须相同
int a[3][4];
a[0][0]
a[0][1]
a[1][0]
a[1][1]
a[2][0]
a[2][1]
a[0][2]
a[0][3]
a[1][2]
a[1][3]
a[2][2]
a[2][3]
a
a+1
a+2
p
p+1
p+2
p[0]+1或*p+1
p[1]+2或*(p+1)+2
*(*p+1)或(*p)[1]
*(*(p+1)+2)
<
>
C语言程序设计第十章指针
输出二维数组任一行任一列元素的值
#include <>
void main()
{ static int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int (*p)[4], i, j;
p=a;
scanf(“i=%d, j=%d”, &i, &j);
printf(“a[%d][%d]=%d\ n”, i, j, *(*(p+i)+j));
}
运行结果:
i=1, j=2
a[1][2]=13
1
3
5
7
9
11
13
15
17
19
21
23
a,a+0,p+0
a+1,p+1
a+2,p+2
<
>
多维数组的指针作函数参数
用指向变量的指针变量
用指向一维数组的指针变量
用二维数组名
C语言程序设计第十章指针
实参
形参
数组名int x[][4]
指针变量int (*q)[4]
数组名int x[][4]
指针变量int (*q)[4]
数组名a
数组名a
指针变量p1
指针变量p1
若int a[3][4]; int (*p1)[4]=a; int *p2=a[0];
指针变量p2
指针变量int *q
<
>
C语言程序设计第十章指针
3个学生各学4门课,计算总平均分,输出第n个学生成绩
#include <>
void main()
{ void average(float *p,int n);
void search(float (*p)[4],int n);
float score[3][4]=
{{65,67,79,60},{80,87,90,81},
{90,99,100,98}};
average(*score,12);
search(score,2);
}
void average(float *p,int n)
{ float *p_end, sum=0,aver;
p_end=p+n-1;
for(;p<=p_end;p++)
sum=sum+(*p);
aver=sum/n;
printf("average=%\n",aver);
}
void search(float (*p)[4], int n)
{ int i;
printf("score of No.%d :\n",n);
for(i=0;i<4;i++)
printf("% ",*(*(p+n)+i));
}
列指针
行指针
函数说明
float p[][4]
65
52
79
60
80
87
90
81
90
99
100
98
p
p
 p[n][i]
<
>
C语言程序设计第十章指针
3个学生各学4门课,计算总平均分,并查找一门以上
课程不及格学生, 输出其各门课

c语言-课件·PPT 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数148
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aidoc1
  • 文件大小0 KB
  • 时间2015-10-20