C语言程序设计(第4版)课件:灵活使用指针处理问题.pptx
C语言程序设计(第4版);C语言既是通用计算机软件设计的基础语言,也是当前嵌入式软件设计的主流语言。
通过对本书的学习,既能掌握C语言编程基础,也能掌握模块化程序设计方法及软件工程文件组织方法,可为后续的其他软件语言程序设计和嵌入式软件设计奠定良好的基础。
本书可作为高职本科和高职高专电子信息类、计算机类、自动化类、机电类专业的C语言教材,也可供从事嵌入式系统与物联网技术开发的工程技术人员参考。;灵活使用指针处理问题;任务5.1理解指针的基本概念;任务5.2利用指针引用普通变量;5.2.2指针变量的引用;【例5.1】通过指针变量访问整型变量。;5.2.2指针变量的引用;5.2.2指针变量的引用;【例5.2】指针变量的应用:输入两个整数,按由大到小的顺序输出这两个整数。;【例5.3】指针变量(变量的地址)作为函数参数。;5.2.3指针变量作为函数参数;5.3.1指向数组元素的指针;5.3.2通过指针引用一维数组元素;【例5.6】输出数组中的全部元素。;(1)可以通过改变指针变量的值(如p++)而指向不同的元素。而a++是错误的,因为a是数组名(数组的首地址),是常量。;【例5.8】通过指针变量找出数组元素的最大值和最小值。;5.3.3用数组的首地址作函数参数的应用形式;普通变量、数组元素,普通变量的地址、指针变量、数组名都可以作为函数参数:;在主调函数中若有一实参数组,则主调函数的实参和被调函数的形参,有4种形式:;【例5.9】用指针变量作函数形参,改写例4.8给出的程序。;1、二维数组元素的地址;a[i]与*(a+i)等价!;2、指向二维数组的指针变量;(2)指向由n个元素组成的一维数组的指针变量:(*p)[n];【例5.12】用指向由n个元素组成的一维数组的指针变量输出3×4二维数组各元素值。;3、用指向二维数组的指针变量作函数参数;字符串广泛应用于嵌入式系统与物联网软件设计中,本节主要介绍字符串的引用方式和字符串在函数间的传递方式。;【例5.15】用字符指针变量输出一个字符串和该串的第4个字符。;【例5.16】输出字符串中n个字符后的所有字符。;5.4.2使用字符数组与字符指针变量的区别;【例5.17】用带??标的字符指针变量引用字符串中的字符。;5.4.3字符串在函数间的传递方式;任务5.5利用指针数组、指向指针的指针引用多个数据;【例5.20】利用指针数组指向多个整型变量,并输出各整型变量的值。;【例5.21】利用指针数组指向一维整型数组的各元素,并引用一维整型数组的各元素。;;5.5.2指向指针的指针;5.5.2指向指针的指针;在实际应用中,指向指针的指针常与指针数组配合使用处理问题。;【例5.25】有一指针数组ps,其元素分别指向3个字符串。现用指向指针的指针变量p,依次输出3个字符串。;任务5.6利用指针调用函数;任务5.6利用指针调用函数;任务5.7通过函数调用获取指针值;【例5.28】利用指针型函数输出字符串。;任务5.8利用内存动态分配函数建立动态数组;5.8.2内存动态分配的方法;【例5.29】malloc、calloc、free函数的应用:动态数组的建立和释放。;【例5.30】realloc函数的应用:增大动态数组的空间。;思考:使用指针处理问题,有哪些优点?