大连理工大学:《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 用数组做形参,用数组名做实参
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第16讲 函数初步.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第15讲 字符串.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第14讲 指针深入.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第13讲 指针初步.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第12讲 二维数组.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第11讲 一维数组.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第10讲 循环嵌套.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第9讲 循环语句.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第8讲 多路分支程序设计.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第7讲 双路分支程序设计.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第6讲 程序设计基础知识.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第5讲 表达式求值与库函数.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第4讲 表达式.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第3讲 输入与输出.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第2讲 C语言初步(标识符、数据类型、常量).pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第1讲 预备知识与课程概述.pptx
- 大连理工大学:《C语言程序设计》课程授课教案(讲稿)第十一讲 位字段、联合和枚举.pdf
- 大连理工大学:《C语言程序设计》课程授课教案(讲稿)第十讲 结构备注.pdf
- 大连理工大学:《C语言程序设计》课程授课教案(讲稿)第九讲 函数(二).pdf
- 大连理工大学:《C语言程序设计》课程授课教案(讲稿)第八讲 函 数(一).pdf
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第18讲 函数再深入.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第19讲 结构类型.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第20讲 结构深入.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第21讲 联合与枚举.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第22讲 文件初步.pptx
- 大连理工大学:《C语言程序设计》课程教学课件(PPT讲稿)第23讲 文件深入.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(实验讲义,共十二个).pdf
- 大连理工大学:《单片机系统及应用》课程教学资源(教案讲稿,共二十四讲).pdf
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第2章 单片机硬件结构.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第1章 单片机基础知识.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第4章 指令系统与汇编程序设计.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第9章 单片机应用中模拟量的输入输出.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第5章 单片机的C语言程序设计.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第6章 MCS-51系列单片机的中断系统与定时计数器.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第8章 单片机应用中的人机接口.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第7章 单片机串行通信.pptx
- 大连理工大学:《单片机系统及应用》课程教学资源(PPT课件)第10章 存储器与并行接口扩展.pptx
