西华师范大学:《算法与程序设计》课程教学资源_第八单元 指针与函数

C语言 第八单元 指针 与函数 程序设计语言C 西华师范大学 数学与信息学院

西华师范大学 数学与信息学院 教学目标 ●介绍C语言中 指针与函数的关系及 函数的参数的定义和调用

西华师范大学 数学与信息学院 学习要求 ●通过本单元的学习 能熟练掌握 比较复杂的函数的设计

西华师范大学 数学与信息学院 本单元授课内容 ●返回值为地址的函数 ●指针型的参数 ●指向函数的指针 ●指向函数的指针的数组 ●指向指针的指针 ●动态存储分配与内存管理 ●命令行参数
! "#$%&'()$*+ ,-.

西华师范大学 数学与信息学院 、返回值为地址的函数 ●通常,函数用返回值的形式为调用程序提供一个计 算结果。但有时需要返回值是一个地址。 ●在说明返回值为地址的函数时,用指针类型说明 符 char Strchr(char *string, int c) char strstr(char *string1, char string2 前者的功能为在字符串 string中查找字符c,如果 string中有字符c,则返回字符c的地址,否则返回 NULL。 ●后者的功能为在字符串 string1中查找子字符串 string2,如果 string1中包含有 string2,则返回 string2在 string1中的地址,否则返回空指针值 NULL。 00g
!"# $%&'"# () *+ ,-!.(/ 012.(3 0.( 4.( 54 6+ ,-!.(/ 0127.(/ 3 089 4 ! 0 54:$%

西华师范大学 数学与信息学院 例8-1 ●将表示月份的数值(12)转换成对应 的英文月份名称。 ●算法分析: 首先说明一个字符串数组 month 用来存放月份的英文名称。 在转换时只须按下标值返回一个字 符串的地址即可。
/0123 45678 9:23;?&@ ABCDEFGHI! JK$L239:;<= M45NOPQRSEFG HITU=

西华师范大学 数学与信息学院 c0801子函数 /*函数 month name0:将月份数值转换为英文名称* #include <dos. h) char *month name (int n) I static char *month[= [Illegal month January, February, March,April, May June,July, August,"Septeml ber October, "November/, dEcember return (n)=1&& n(=12)?month [n]: month[]
;?@AB?C=DEFG HIJKLMNOPYZA[ SAC\W?@AB?C=DER?@ ?F ]WY@C@RSWSAC\W?@A^_` ]WWabTTDcCTW=>?@Aad aeC?UC\fadWgDh\UC\fadWaiC\SAadWajk\RTadWaiCfad aeU?DadWaeUTfadWajUcUY@adWalDk@D=hD\ad mS@>hD\d n>oD=hD\d pDSD=hD\ qr \D@U\?WE?[`sWttW?X`suFv=>?@A^?_G=>?@A^w_r q

西华师范大学 数学与信息学院 c0801c主函数 void print date(struct date *d I printf(%s %d, %d", month name(d->da mon d->da day, d->da year):) main struct date today getdate(&today) / today da year= 1999 today. da mon=12 today. da day=29: * print date (&today
]WW k\R?@xEayY yVdWyVad=>?@AB?C=DEVz[VCB=>?Fd !!! " "!

西华师范大学 数学与信息学院 二、指针型的参数 ●函数的参数是用于传递数据信息的。例如: 调用函数: swap(a,b) 子函数: swap(int x, int y) ●指针型的参数则用于传递地址值信息。 例如:例71中介绍的sWap函数就使用两 个指针类型的参数。 void swap(int *xp, int *yp) swap( &a, &b)
! #$%&$'()*+$,-.%/012 3(#$2 4#$2 ! 567%&$8()*+9:;-./ 01 0"% #$?@(A B56C7%&$/ VWXY Z[\]^X_` ab]cX_` ad]e Z[\]^f\cgfhei

西华师范大学 数学与信息学院 例8-2 ●编写一个用于在字符串中查找某字符的函 数 ●算法分析: 从字符串的第一个字符查起,只要遇到 被查找的字符就返回该字符的地址; 如果查遍整个字符串都没有发现待查 字符,则返回空值NULL。 若还要查找串中其它要找的字符,应从 当前地址的下一个地址开始查起。 00g
jkEFJlMGHImnopGH = >?&@ qGHIrEFGHns Otuv wnoGHxyGH z{n|}FGHI~n GH = tnoImtoGH8q REFns=
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西华师范大学:《算法与程序设计》课程教学资源_第九单元 文件.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第七单元 指针的概念.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第六单元 结构体和共用体类型.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第五单元 编译预处理.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第四单元 表达式与函数.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第三单元 数据类型.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第二单元 控制结构.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第一单元 Hello, C!.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_教学大纲.doc
- 西华师范大学:《算法与程序设计》课程教学资源_数学实验.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_习题一.doc
- 西华师范大学:《算法与程序设计》课程教学资源_实验内容与上机指导.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_目录.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_第一章 误差 基本要求.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_第九章 常微分方程处置问题的数值解 基本要求.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_第九章 常微分方程处置问题的数值解(9.1)欧拉法.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_第九章 常微分方程处置问题的数值解(9.2)预估一校正.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_第九章 常微分方程处置问题的数值解 实验项目一.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_第九章 常微分方程处置问题的数值解(9.3)龙格—库塔法.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_第八章 数值积分(8.2)梯形公式.ppt
- 西华师范大学:《算法与程序设计》课程教学资源_第四章 串和数组.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第十二章 非递归化.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第十章 算法设计.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第十一章 外排序.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第一章 数据结构基础概论.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第二章 线性表.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第三章 栈和队列.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第五章 树和二叉树.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第六章 图.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第三章 非线性方程的数值解法.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第二章 解线性代数方程组的直接方法.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第五章 求矩阵特征根和特征向量的数值方法.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第四章 解线性代数方程组的迭代法.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第六章 代数插值.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第七章 样条函数.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第八章 数值积分.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第九章 常微分初值问题的数值解.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第九章 复杂度及其分析.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第七章 查找.pdf
- 西华师范大学:《算法与程序设计》课程教学资源_第八章 排序.pdf