中国高校课件下载中心 》 教学资源 》 大学文库

大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第17讲 函数深入

文档信息
资源类别:文库
文档格式:PPTX
文档页数:22
文件大小:710.42KB
团购合买:点击进入团购
内容简介
大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第17讲 函数深入
刷新页面文档预览

知识回顾1.函数定义2.函数说明3.函数调用4.传值调用5.传地址调用

知 识 回 顾 1.函数定义 2.函数说明 3.函数调用 4.传值调用 5.传地址调用

问题引出1.经常需要把数组触底给函数处理2.经常需要把字符串传递给函数处理3.有时需要函数返回地址以上问题是今天要研究的主题

问 题 引 出 1.经常需要把数组触底给函数处理 2.经常需要把字符串传递给函数处理 3.有时需要函数返回地址 以上问题是今天要研究的主题

主要内容OBoto向函数传数组与字符串指针型函数与函数指针作用域小结目的要求复习思考题上机与编程实践独立作业

主 要 内 容 1 向函数传数组与字符串 2 指针型函数与函数指针 目的要求 复习思考题 上机与编程实践 独立作业 小 结 3 作用域

8.6向函数传数组1.传一维数组(1)实现方法被调用函数的形参可以是数组或指针数组做形参时方括号中的元素个数可带可不带调用函数的实参是数组名(2)注意事项系统并不为形参数组分配空间形参只是调用函数传递数组的一个别名调用函数和被调用函数共享了同一块空间

8.6 向函数传数组 (1)实现方法 (2)注意事项 1.传一维数组 ◆被调用函数的形参可以是数组或指针 ◆数组做形参时方括号中的元素个数可带可不带 ◆调用函数的实参是数组名 ◆系统并不为形参数组分配空间 ◆形参只是调用函数传递数组的一个别名 ◆调用函数和被调用函数共享了同一块空间

调用前调用后津原型声明*36base[o]voidmultiply2(intx/l);714#include<stdio.hbase[1]intmain(void)2base[2]448base[3]intbase5=3.7.2.,4.5)510base[4]multiply2(base):丽数调用basebasereturn O;/*main*/x变为base的别名,x与voidmultiply2(intxll)base是内存中同块室X间,multiply2对x的操作inti:for(i=O;i<s:i++)也就是对base的操作x[i] *=2;ireturn:/*multiply2*/现场编程

现场编程

2.传二维数组(1)实现方法被调用函数的形参可以是数组或行指针数组做形参时第1个方括号中的元素个数可带可不带调用函数的实参是数组名(2)注意事项系统并不为形参数组分配空间◆形参只是调用函数传递数组的一个别名调用函数和被调用函数共享了同一块空间

2.传二维数组 (1)实现方法 (2)注意事项 ◆被调用函数的形参可以是数组或行指针 ◆数组做形参时第1个方括号中的元素个数可带可不带 ◆调用函数的实参是数组名 ◆系统并不为形参数组分配空间 ◆形参只是调用函数传递数组的一个别名 ◆调用函数和被调用函数共享了同一块空间

*原型声明*floataverageScores(int(p)/4].intn):#incudeintmain(void)88879586intscores/3114]=188,86,87,951,67768563167.76,85,633,7375899273,75,89,92floataver:scoresaver=averageScore(scores,3):printf("Averagescoreis%.ifin",aver):return 0:/main*/floataverageScores(int(*pa)[4],intn)参数传递递的结来是:行pa指针pa指向手调用函数中inti,j;的激维scores.被调用质数floataver = O;averageScores通过pa操作averseores中的数据for(i=0;i<n:i++)for(i=0:i<4:j++)aver+-*(pa+i)+j)returnaver/4n)/averageScores*图8-8用行指针做形参

图8-8 用行指针做形参

【程序8-4】向函数传递二维数组,被调用函数使用数组做形参程序中有两个函数main和findmax。findmax的作用是求main所传递的二维数组的最大值及其所在的行标与列标。现场编程请记住:无论传递一维数组还是传递二维数组,实现的方法无非就两种:一是用数组处理数组问题,另一一种是用指针处理数组问题。不论使用哪种方法,数组只有一一个,就是调用函数的实参

现场编程 请记住:

8.7向函数传字符串1.由于字符串是由数组存储的,因此把串传给函数的方法和传数组类似2,与处理一般的数组相比,向函数传字符串的方法更灵活被调用函数可以使用数组、指针或指针数组做形参形参以指针形式居多调用函数不仅可以使用数组名、指针、串常量做实际参

8.7 向函数传字符串 1.由于字符串是由数组存储的,因此把串传给函数的方法和 传数组类似 2.与处理一般的数组相比,向函数传字符串的方法更灵活 ◆被调用函数可以使用数组、指针或指针数组做形参 ◆形参以指针形式居多 ◆调用函数不仅可以使用数组名、指针、串常量做实际参

void printStr( char strll):#include<stdio.hintmain(void)charsJ="1234":char *ps-"abcd";/用数组名做实参*printStr(s) :传用指针做实参*printStr(ps)printStr(“Hello”):/用串做实参return ;1234/main*/abcdHellovoid printStr(char sll)printf(%s)n",s);return:/*printString*/图8-9用数组做形参,用数组名做实参

图8-9 用数组做形参,用数组名做实参

共22页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档