当前课程知识点:C语言程序设计(下) >  第一周:函数(一) >  1.4 函数间参数传递 >  地址传递-数组名做函数参数

返回《C语言程序设计(下)》慕课在线视频课程列表

地址传递-数组名做函数参数 在线视频

地址传递-数组名做函数参数

下一节:函数返回语句和返回值

返回《C语言程序设计(下)》慕课在线视频列表

地址传递-数组名做函数参数 课程教案、知识点、字幕

下面我们就一起来看一个

用数组名作函数参数的例子

屏幕上这个程序

是一个通过选择排序的算法

来实现

将数组中的十个元素

从小到大进行排序

我们这回首先定义的是

功能函数

也就是

我们定义一个无类型的

排序函数

函数名为sort

在函数的参数中有两个

一个是整型的数组

一个是整型变量

在函数中

我们用的是选择法排序

现在大家一起回顾一下

选择排序的思路是

如果我们要实现

数据从小到大排序

在已给的十个数组元素中

首先找出其中最小的

让后让它跟元素中的第一个元素

进行交换

再从数组中第二个元素

到后续的元素中

重复这种方式

由此完成

从小到大排序

在这个程序中的前一部分

就是用选择法进行数组的排序

在主函数中

我们同样定义一个数组

定义一个变量

作为循环变量

在主函数中提醒

从键盘输入十个元素的值

通过循环

依次输入十个元素的值之后

调用排序函数

注意

这时调用函数使的实参

是数组名

在函数调用的同时

实参

数组的数组名

也就是元素的起始地址

就传给了形参数组

也就是被调函数中的

数组

主调函数中

实参为数组名

被调函数中

形参也为数组名

这时两个数组

共享一段存储空间

由此

在被调函数中

对数组元素所进行的

排序操作的最后结果

是可以代回它主调函数中的

当函数调用结束

我们再通过循环

输出所有元素的值

现在我们就运行一下

首先

输入十个元素的值

现在我们就按照经过运行

从键盘输入的十个元素的值

实现了从小到大的排序

有了刚才的分析

我们现在再来看

学生成绩管理系统

这样的一个小的软件

我们就可以把整个的功能分解成

若干个功能模块

不同的功能模块

可以通过调用不同的函数实现

大家知道

可能在不同的功能模块

处理的是一个班的成绩表

比如

我们把一个班的学习成绩

表达成这样的二维表的形式

在满足

数组具有相同的数据类型的

这种要求的前提下

如果说

查询功能

需要按照学号

查询某门课的成绩

当主调函数调用被调函数的时候

用数组名作为函数的参数

就可以完成

通过调用被调函数

来处理数组种元素的功能

C语言程序设计(下)课程列表:

第一周:函数(一)

-1.1 函数定义

--内容简介

--函数是什么

--例题演示

--知识点总结

-1.1 函数定义--作业

-1.2 模块化程序设计

--由生活中的例子介绍模块化概念

--模块化程序设计总结

-1.3 函数调用、声明和返回

--函数调用的过程

--函数嵌套调用

-1.4 函数间参数传递

--形参与实参值传递

--地址传递-数组名做函数参数

--函数返回语句和返回值

--小结

--html

-1.4 函数间参数传递--作业

第二周:函数(二)

-函数递归调用

--6.5.1 递归问题开场白

--6.5.2 递归定义和调用过程

--6.5.3 运行程序

--6.5.4 汉诺塔介绍

--6.5.5 汉诺塔讲解

--6.5.6 汉诺塔程序运行

--6.5.7 递归调用例题

--6.5.8 递归总结

--html

--html

--html

--html

--html

--html

-函数递归调用--作业

第三周:函数(三)

-3.1 变量存储属性

--开场

--局部变量全局变量

--静态存储与动态存储

--存储类别小结

--html

--html

--html

--html

--html

-3.1 变量存储属性--作业

-3.2 编译预处理

--编译预处理开头

--编译预处理内容

--库函数

--函数总结

--综合例子

--html

-3.2 编译预处理--作业

第四周:指针(一)

-4.1 指针的定义、初始化和引用

--本周内容简介

--从变量的地址理解指针(1)

--从变量的地址理解指针(2)

--从数据交换看指针的应用(1)

--从数据交换看指针的应用(2)

--从数据交换看指针的应用(3)

-4.1 指针的定义、初始化和引用--作业

-4.2 指针与数组

--指针与数组

--用指针变量操作数组元素

--用指针变量操作数组元素实例

--Video

-4.2 指针与数组--作业

-虚拟实验:指针的基本概念实验

第五周:指针(二)

-5.1 指针与字符串

--本周开篇介绍

--指针与字符串

--指针与字符串小结

-5.1 指针与字符串--作业

-5.2 多维数组指针

--指针与多维数组

--指针变量访问二维数组

--一维数组的指针变量

--指向数组的指针函数参数

--html

--html

--html

--html

--html

--html

--html

--html

-5.2 多维数组指针--作业

第六周:指针(三)

-6.1指针与函数

--本周开篇介绍

--指针指向函数

--返回指针值的函数

--html

--html

--html

-6.1指针与函数--作业

-6.2指针与指针

--引入指针数组

--指针数组

--二级指针

--指针内容小结

--html

--html

--html

--html

-6.2指针与指针--作业

第七周:链表(一)

-7.1 结构的概念

--Video

--Video

--Video

--Video

--html

--html

-7.1 结构的概念--作业

-7.2 结构数组

--7.2.1 结构体数组

--Video

--Video

--html

-7.2 结构数组--作业

-7.3 结构指针

--Video

--Video

--Video

--html

-7.3 结构指针--作业

-7.4 结构与函数

--Video

--html

-7.4 结构与函数--作业

-7.5 联合

--Video

--Video

--html

-7.5 联合--作业

第八周:链表(二)

-8.1 typedef自定义类型

--自定义类型

-8.1 typedef自定义类型--作业

-8.2 枚举类型

--枚举类型

-8.2 枚举类型--作业

-8.3 链表的概念

--为什么使用链表

--链表的定义和功能

-8.3 链表的概念--作业

-8.4 链表的基本操作

--创建链表的步骤

--创建链表的过程

--访问链表中的节点

--约瑟夫问题

--html

--html

-8.4 链表的基本操作--作业

第九周 文件

-9.1 文件概述

--文件概念

--文件分类

-9.1 文件概述--作业

-9.2 文件型指针

--文件结构与指针

--设备文件

--html

-9.2 文件型指针--作业

-9.3 文件的打开与关闭

--文件读写方式

--文件读写操作

-9.3 文件的打开与关闭--作业

-9.4 文件的顺序读写

--文件顺序读写及字符输入输出

--字符串输入输出

--格式化及数据块输入输出

--html

-9.4 文件的顺序读写--作业

-9.5 文件的随机读写

--文件随机读写

-9.5 文件的随机读写--作业

-9.6 文件检测

--文件检测

-9.6 文件检测--作业

-9.7 文件应用实例

--文件应用实例

--html

--html

第十周 总结与练习

-10.1 C语言知识总结

--程序调试概念

--软件测试方法

--程序跟踪调试

--C语言语法要点

--标识符及运算符

--程序设计流程

--数组、函数及指针

--结构和文件

-10.1 C语言知识总结--作业

-10.2 C语言练习

--程序设计方法

--图像合成例子

--html

期末考试复习题

-期末考试复习题

--html

期末考试复习题答案

-期末考试复习题答案

--html

地址传递-数组名做函数参数 笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。