文档详情

第8章指针_西安交大.ppt

发布:2017-04-24约1.66千字共65页下载文档
文本预览下载声明
第八章 指 针;8.1 指针的概念;变量的三要素;变量所占字节数;例8.1 定义不同类型的变量,显示变量的地址与所占字节数,观察它们之间的关联。 ;变量地址示意图;8.2.1 指针变量;指针变量的定义;例8.2 显示变量所占字节数与指针变量所占字节数。;8.2.2 指针运算符;例8.3 指针运算符的应用。;8.2.3 指针变量的运算;例8.5 指针变量的赋值运算应用二;执行语句*ptr2=5前后对比图 ;2.指针变量的加减运算;2.指针变量的加减运算;【例8.6】指针变量的加减运算应用,显示地址用的是无符号十进制数。 #include stdio.h void main() { int x,*px; float y,*py; x=2;px=x; y=2.5;py=y; printf(x=%3d,*px=%3d,px=%u\n,x,*px,px); printf(y=%3.1f,*py=%3.1f,py=%u\n,y,*py,py); printf(************************************\n); px++; py--; /*注意此时px,py已不指向x和y了*/ printf(x=%3d,*px=%3d,px=%u\n,x,*px,px); printf(y=%3.1f,*py=%3.1f,py=%u\n,y,*py,py); };2.指针变量的加减运算;3.指针变量的使用;【例8.9】在3个数值中找出最大值和最小值。;8.2.4 指针变量作为函数参数;例8.11 利用指针作参数传递使实参的值扩大10倍。;参数的传递及参数的变化过程图 ;利用普通变量或指针变量作为函数的参数,来解决“将a和b两个数进行交换”的问题 ;void swap(int p1, int p2) swap(a,b); { t=p1; p1=p2; p2=t;} ;;8.3 指针与一维数组;8.3.2 指向数组元素的指针 ;引用数组元素的例子;8.3.3 数组名作为函数参数;【例8.16】数组名作为函数参数,解决元素的交换问题;【例8.17】已知一个一维数组x[11]中有10个数,求出其中前n个数的和并放入x[10]中。其中n由键盘输入。;【例8.18】已知一个一维数组x[10]中有10个数,求出第m个数到第n个数的和。其中m、n由键盘输入。;8.4 指针与字符串 ;8.4.1 指向字符串的指针变量;8.4.1 指向字符串的指针变量;【例8.22】字符串合并示例 ;8.4.2 字符串指针作为函数参数;【例8.24】用指针法来实现字符串的比较;8.5 指针与多维数组;数组及数组元素的地址表示;数组及数组元素的地址表示;8.5.2 多维数组元素的引用方法;3.指针法;【例8.26】用简单指针变量引用二维数组元素。;(2)用指向二维数组一整行的指针变量引用二???数组元素;【例8.27】以行为单位输出二维数组的元素。;8.6 指针数组与多级指针;【例8.28】以行为单位输出二维数组的元素。;【例8.29】用指针数组输出5个城市名。;8.6.2 多级指针;8.6.2 多级指针(续);用指针数组与二级指针分别以行为单位输出二维数组的元素 ;指针数组与二级指针的关系见下图;8.6.3 指针数组作为main函数的形参;【例8.34】输入任意个城市名并按字母顺序输出。;8.7 指针与函数;8.7.1 指向函数的指针;2.用函数指针调用函数;【例8.35】找出a,b两个数的最大值、计算a!+b!的和。;3.函数指针的应用;【例8.36】改进例8.35, 找出a,b两个数的最大值、计算a!+b!的和, 计算a的b次幂。;函数pfun的参数传递过程;8.7.2返回指针值的函数;【例8.37】利用指针型函数编程,输入一个1~7之间的整数, 输出对应的星期名。
显示全部
相似文档