程序设计基础及应用(C语言版)课件:灵活使用指针处理问题.pptx
;灵活使用指针处理问题;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.10】用指针变量作函数形参,改写例4.9给出的程序。;1、二维数组元素的地址;a[i]与*(a+i)等价!;2、指向二维数组的指针变量;(2)指向由n个元素组成的一维数组的指针变量:(*p)[n];【例5.13】用指向由n个元素组成的一维数组的指针变量输出3×4二维数组各元素值。;3、用指向二维数组的指针变量作函数参数;字符串广泛应用于嵌入式系统与物联网软件设计中,本节主要介绍字符串的引用方式和字符串在函数间的传递方式。;【例5.16】用字符指针变量输出一个字符串和该串的第4个字符。;【例5.17】输出字符串中n个字符后的所有字符。;5.4.2使用字符数组与字符指针变量的区别;【例5.18】用带下标的字符指针变量引用字符串中的字符。;5.4.3字符串在函数间的传递方式;5.5利用指针调用函数;5.5利用指针调用函数;5.6利用指针数组、指向指针的指针引用多个数据;【例5.23】利用指针数组指向多个整型变量,并输出各整型变量的值。;【例5.24】利用指针数组指向一维整型数组的各元素,并引用一维整型数组的各元素。;;5.6.1指针数组;5.6.2指向指针的指针;5.6.2指向指针的指针;在实际应用中,指向指针的指针常与指针数组配合使用处理问题。;【例5.30】有一指针数组ps,其元素分别指向3个字符串。现用指向指针的指针变量p,依次输出3个字符串。;5.7通过函数调用获取指针值;【例5.31】利用指针型函数输出字符串。;5.8利用内存动态分配函数建立动态数组;5.8.2内存动态分配的方法;【例5.32】malloc、calloc、free函数的应用:动态数组的建立和释放。;【例5.33】realloc函数的应用:增大动态数组的空间。;思考:使用指针处理问题,有哪些优点?