(中职)c语言技能教程第9章课件.ppt
《(中职)c语言技能教程第9章课件.ppt》由会员分享,可在线阅读,更多相关《(中职)c语言技能教程第9章课件.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(中职)c语言技能教程第9章ppt课件第第9 9章章 C的精华的精华 指针类型指针类型 语言技能教程语言技能教程第第 九九 章章 9.1 技能技能1:简单变量的指针的应用简单变量的指针的应用 9.2 技能技能2:应用指向数组的指针对数组应用指向数组的指针对数组 元素进行操作元素进行操作 9.3 技能技能3:指向函数的指针的简单应用指向函数的指针的简单应用 9.1 9.1 技能技能1 1【知识点】【知识点】1.1.指针的定义指针的定义指针的定义指针的定义 “指针指针指针指针”就是地址,一个变量的指针就是指该变量的地就是地址,一个变量的指针就是指该变量的地就是地址,一个变量的指针就是指该变量的地就
2、是地址,一个变量的指针就是指该变量的地址。指针变量就是存放地址的变量。址。指针变量就是存放地址的变量。址。指针变量就是存放地址的变量。址。指针变量就是存放地址的变量。C C语言规定:在语言规定:在语言规定:在语言规定:在使用变量之前必须先定义,一般形式如下:使用变量之前必须先定义,一般形式如下:使用变量之前必须先定义,一般形式如下:使用变量之前必须先定义,一般形式如下:类型标识符类型标识符类型标识符类型标识符 *指针变量指针变量指针变量指针变量(1)(1)指针变量的定义必须用符号指针变量的定义必须用符号指针变量的定义必须用符号指针变量的定义必须用符号“*”“*”,表明其后的变量,表明其后的变量
3、,表明其后的变量,表明其后的变量是指针变量。是指针变量。是指针变量。是指针变量。(2)(2)定义了一个指针变量定义了一个指针变量定义了一个指针变量定义了一个指针变量p1p1以后,系统就为这个指针变量以后,系统就为这个指针变量以后,系统就为这个指针变量以后,系统就为这个指针变量分配一个存储单元分配一个存储单元分配一个存储单元分配一个存储单元(一般为一般为一般为一般为2 2个字节个字节个字节个字节),用它来存放地址,用它来存放地址,用它来存放地址,用它来存放地址,但此时该指针变量并未指向确定的整型变量,因为该但此时该指针变量并未指向确定的整型变量,因为该但此时该指针变量并未指向确定的整型变量,因为
4、该但此时该指针变量并未指向确定的整型变量,因为该指针变量中并未赋予确定的地址。指针变量中并未赋予确定的地址。指针变量中并未赋予确定的地址。指针变量中并未赋予确定的地址。9.1 9.1 技能技能1 1【知识点】【知识点】(3)(3)一个指针变量只能指向同一类型的变量。一个指针变量只能指向同一类型的变量。一个指针变量只能指向同一类型的变量。一个指针变量只能指向同一类型的变量。(4)(4)指针变量可以定义为指向字符型、实型以及其他类型指针变量可以定义为指向字符型、实型以及其他类型指针变量可以定义为指向字符型、实型以及其他类型指针变量可以定义为指向字符型、实型以及其他类型的变量。的变量。的变量。的变量
5、。2.2.指针的操作指针的操作指针的操作指针的操作(1)(1)取地址运算符取地址运算符取地址运算符取地址运算符“&”“&”,如对已定义过的变量,如对已定义过的变量,如对已定义过的变量,如对已定义过的变量 i i 操作,操作,操作,操作,“&i”“&i”表示变量表示变量表示变量表示变量i i的内存起始地址。的内存起始地址。的内存起始地址。的内存起始地址。(2)(2)指针运算符,或间接访问运算符指针运算符,或间接访问运算符指针运算符,或间接访问运算符指针运算符,或间接访问运算符“*”“*”,访问指针变,访问指针变,访问指针变,访问指针变量所指向的变量中的数据。量所指向的变量中的数据。量所指向的变量
6、中的数据。量所指向的变量中的数据。例例例例9.2 9.2 9.2 9.2 输入两个整数,按由小到大的顺序输出。输入两个整数,按由小到大的顺序输出。输入两个整数,按由小到大的顺序输出。输入两个整数,按由小到大的顺序输出。main()main()int a,b,*pl,*p2,*p;int a,b,*pl,*p2,*p;scanf(%d scanf(%d,%d%d,&a&a,&b);&b);p1=&a;p2=&b;p1=&a;p2=&b;if(ab)if(ab)p=p1;p1=p2;p2=p;p=p1;p1=p2;p2=p;printf(a=%d printf(a=%d,b=%dn,a1,a2);
7、b=%dn,a1,a2);printf(Min=%d printf(Min=%d,Max=%dn,*p1,*p2);Max=%dn,*p1,*p2);9.1 9.1 技能技能1 1【典型例题】【典型例题】9.1 9.1 技能技能1 1【点拨】【点拨】1 1、交换指针和交换指针所指向的变量的、交换指针和交换指针所指向的变量的、交换指针和交换指针所指向的变量的、交换指针和交换指针所指向的变量的值有着本质的区别。值有着本质的区别。值有着本质的区别。值有着本质的区别。2 2、两处、两处、两处、两处“*p”“*p”的不同意义。的不同意义。的不同意义。的不同意义。int*p;int*p;表示定义指针变量表
8、示定义指针变量表示定义指针变量表示定义指针变量p p。它前面的。它前面的。它前面的。它前面的“*”“*”只是表示该变量为指针变量。只是表示该变量为指针变量。只是表示该变量为指针变量。只是表示该变量为指针变量。a1=*p;a1=*p;此处的此处的此处的此处的“*”“*”是指针运算符,是指针运算符,是指针运算符,是指针运算符,*p*p代表的是变量,即指针变量代表的是变量,即指针变量代表的是变量,即指针变量代表的是变量,即指针变量p p所指向的所指向的所指向的所指向的变量变量变量变量a1a1。9.2 9.2 技能技能2 2【知识点】【知识点】1.ai1.ai表示数组表示数组表示数组表示数组a a中第
9、中第中第中第i i个元素的值,个元素的值,个元素的值,个元素的值,a+ia+i是是是是aiai的地址的地址的地址的地址,即即即即&ai&ai。2.2.引用一个数组元素,可以利用前面介绍的下标法引用一个数组元素,可以利用前面介绍的下标法引用一个数组元素,可以利用前面介绍的下标法引用一个数组元素,可以利用前面介绍的下标法ai ai,也可以利用地址法也可以利用地址法也可以利用地址法也可以利用地址法*(a+i)*(a+i)。a+i a+i是是是是aiai的地址,那么用的地址,那么用的地址,那么用的地址,那么用指针运算符对它操作,则是取指针运算符对它操作,则是取指针运算符对它操作,则是取指针运算符对它操
10、作,则是取a+ia+i地址中的数据了,也地址中的数据了,也地址中的数据了,也地址中的数据了,也就是数组就是数组就是数组就是数组a a中下标为中下标为中下标为中下标为i i的元素值。的元素值。的元素值。的元素值。3.3.可以定义一个指针变量指向数组元素。例如:可以定义一个指针变量指向数组元素。例如:可以定义一个指针变量指向数组元素。例如:可以定义一个指针变量指向数组元素。例如:int *p int *p;p=&a0 p=&a0;p p指向指向指向指向a a,*p*p就是就是就是就是a0a0的值,的值,的值,的值,*(p+1)*(p+1)就是就是就是就是a1a1的值,的值,的值,的值,*(p+2)
11、*(p+2)就是就是就是就是a2a2的值。的值。的值。的值。9.2 9.2 技能技能2 2【知识点】【知识点】1.ai1.ai表示数组表示数组表示数组表示数组a a中第中第中第中第i i个元素的值,个元素的值,个元素的值,个元素的值,a+ia+i是是是是aiai的地址的地址的地址的地址,即即即即&ai&ai。2.2.引用一个数组元素,可以利用前面介绍的下标法引用一个数组元素,可以利用前面介绍的下标法引用一个数组元素,可以利用前面介绍的下标法引用一个数组元素,可以利用前面介绍的下标法ai ai,也可以利用地址法也可以利用地址法也可以利用地址法也可以利用地址法*(a+i)*(a+i)。a+i a+
12、i是是是是aiai的地址,那么用的地址,那么用的地址,那么用的地址,那么用指针运算符对它操作,则是取指针运算符对它操作,则是取指针运算符对它操作,则是取指针运算符对它操作,则是取a+ia+i地址中的数据了,也地址中的数据了,也地址中的数据了,也地址中的数据了,也就是数组就是数组就是数组就是数组a a中下标为中下标为中下标为中下标为i i的元素值。的元素值。的元素值。的元素值。3.3.可以定义一个指针变量指向数组元素。例如:可以定义一个指针变量指向数组元素。例如:可以定义一个指针变量指向数组元素。例如:可以定义一个指针变量指向数组元素。例如:int *p int *p;p=&a0 p=&a0;p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 技能 教程 课件
限制150内