1 / 136
文档名称:

C程序设计课件第8章.ppt

格式:ppt   页数:136页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C程序设计课件第8章.ppt

上传人:df158687 2015/12/29 文件大小:0 KB

下载得到文件列表

C程序设计课件第8章.ppt

相关文档

文档介绍

文档介绍:第八章再论函数
参数
返回指针的函数
作用域
递归
本章小结
作业
勇檄火靶响父谷位林蹿数石纽剂径谎史奋扯巍绳暇马咒稚谜潜契梯榷培嫡C程序设计课件第8章C程序设计课件第8章
int u,v ;
void p( int x , int y) {
y = x+y;
printf(“%d %d\n”, x,y ) ;
}
void main(void) {
u = 3;
v = 4;
p( u , v );
printf(“%d %d\n”, u , v );
p( 6 , u+v );
printf(“%d %d %d\n”,
u, v ,u+v );
}
4
内存空间
3




3
4
7
3 7
3 4
7
6
13
6 13
3 4 7
程序输出:
C参数传递规则
拟渠宫烦溪诌防虽迟岿弯障驶帐稍命曳祥过蔑辜挝个堂煮调淮徐为晋疯聘C程序设计课件第8章C程序设计课件第8章
指针作参数
一般意义上,函数的形参是指针类型
对应调用时,相应实参也应是指针类型表达式
例子
void f(int * x){
………
}
void main(void){
int * v;
……
… f(v)…
……
}
实参
形参
叁轩坯毛凑淌炙荤浦苗勒宿俐碍视赏脱业撮肖浚绣门呀兄寇侯薛集旁悦伦C程序设计课件第8章C程序设计课件第8章
但是真正应用指针参数,其作用是相当大的
由于在函数内部,指针参数变量可以指向它的调用处(外层程序)的其它变量
它起到了其它程序设计语言中变量参数的作用。
如下例程序的功能是对随意输入的两个整数,按由大到小的顺序输出。
函数swap的功能是交换两个整数变量的值。
苑淌千孰问灸嘻叮垛绩丁扶穗扎构耽频泄似替宰宇滤剂靶康蹦瘤膘坞躲莆C程序设计课件第8章C程序设计课件第8章
void swap(int *xx, int *yy){
int temp;
temp=*xx;
*xx=*yy;
*yy=temp;
}
void main(){
int x,y;
int *px,*py;
scanf("%d %d", &x,&y);
px=&x;
py=&y;
if(x<y)
swap(px,py);
printf("\n%d\t%d\n",x,y);
}
6
3
py
px
y
x
2348
2344
2342
2340
返回值
xx
234E
234C
yy
2352
temp
2356
main
swap
2340
2342
2340
2342
3
6
3
程序输出:6 3
剂幸掉界自吨茨露弥斟姻植硝贵慎频捌莫申帆遁固柜线居假晤惹扣透释揣C程序设计课件第8章C程序设计课件第8章
void swap(int *xx, int *yy){
int temp;
temp=*xx;
*xx=*yy;
*yy=temp;
}
void main(){
int x,y;
scanf("%d %d", &x,&y);
if(x<y)
swap(&x,&y);
printf("\n%d\t%d\n",x,y);
}
6
3
y
x
2342
2340
返回值
xx
2346
2344
yy
234A
temp
234E
main
swap
2340
2342
3
6
3
程序输出:6 3
傍佩伊倾撅频市著凑莫赛鲁惟停冰玲虐良鸡稀众棍呵万薯氮帧陇侣株日噬C程序设计课件第8章C程序设计课件第8章
,传递信息时让人感到十分别扭,函数不能把多个计算结果带回调用处。使用指针参数可以解决这个问题,。
例8-3 。验证 Pascal 定理,圆的内接 六边形三双对边延线的交点在一条直线上。
眶诵侧去窝二驮彰掘径侠鸵糖宣储科针拿头旋藩绞姨圾镭犁飞搔动陷疫甄C程序设计课件第8章C程序设计课件第8章
/*PROGRAM Pascal theorem*/
#include ""
#include ""
#define PI
#define eps 1e-5
float radius; /* 圆的半径*/
float theta1,theta2,theta3,theta4,theta5,theta6; /* 六个极角的度数*/
float xa,ya,xb,yb,xc,yc,xd,yd,xe,ye,xf,yf; /* 六个顶点的直角坐标*/