C语言程序设计第十八讲 指针(1).ppt
《C语言程序设计第十八讲 指针(1).ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第十八讲 指针(1).ppt(19页珍藏版)》请在沃文网上搜索。
1、C语言程序设计基础主讲人:庞新苗手机:13560715936第十八讲:指针(1)指针变量主要内容:主要内容:1、指针变量的定义和引用;、指针变量的定义和引用;2、指针变量作为函数参数;、指针变量作为函数参数;一、指针变量例:利用指针变量访问整型、实型、字符型变量。例:利用指针变量访问整型、实型、字符型变量。main()int num_int=12,*p_int;/*定义一个指向定义一个指向int型数据的指针变量型数据的指针变量p_int*/float num_f=3.14,*p_f;/*定义一个指向定义一个指向float型数据的指针变量型数据的指针变量p_f*/char num_ch=p,*p
2、_ch;/*定义一个指向定义一个指向char型数据的指针变量型数据的指针变量p_ch*/p_int=&num_int;/*取变量取变量num_int的地址,赋值给的地址,赋值给p_int*/p_f=&num_f;/*取变量取变量num_f的地址,赋值给的地址,赋值给p_f*/p_ch=&num_ch;/*取变量取变量num_ch的地址,赋值给的地址,赋值给p_ch*/printf(num_int=%d,*p_int=%dn,num_int,*p_int);/*符号符号*p_int用来访问用来访问p_int指向的地址空间的数据指向的地址空间的数据*/printf(num_f=%4.2f,*p_f
3、=%4.2fn,num_f,*p_f);printf(num_ch=%c,*p_ch=%cn,num_ch,*p_ch);1、指针的概念:、指针的概念:内内存存是是以以一一个个字字节节为为单单位位的的连连续续的的存存储储空空间间,每个内存每个内存单单元都有一个元都有一个编编号,称号,称为为内存地址。内存地址。请看下图,变量请看下图,变量i的地址是的地址是1000,变量,变量 i的内容是的内容是30。301000i 用另一个变量记住用另一个变量记住i的地址,这个变量的地址,这个变量就是指针类型的变量,一般称为指针变量。就是指针类型的变量,一般称为指针变量。因此,一个指针变量的值就是某个内存单因此
4、,一个指针变量的值就是某个内存单元的地址,称为某内存单元的指针。元的地址,称为某内存单元的指针。301000i1000p 用用p变量记住了变量记住了i的地址,的地址,p的数据类的数据类型就是指针类型。型就是指针类型。2、指针变量的定义:、指针变量的定义:指针变量的定义格式:指针变量的定义格式:指指针针所所指指对对象象的的数数据据类类型型 *指指针针变变量量名名1,*指指针针变变量量名名2,;定义格式中的定义格式中的“*”表示变量是一个指针变量。表示变量是一个指针变量。int*p;表示表示p是一个指针变量,是一个指针变量,p指向的存指向的存储单元是整型的。储单元是整型的。注意,注意,指针变量与其
5、他变量一样,如果是指针变量与其他变量一样,如果是自动变量并且未赋值,指针变量的值将是不定自动变量并且未赋值,指针变量的值将是不定值。如果想让值。如果想让p p的内容是的内容是i i的地址,需要做一个的地址,需要做一个取地址运算。取地址运算。定义指针的目的是为了通过指针去访问内存单元。定义指针的目的是为了通过指针去访问内存单元。运算符运算符“*”写在指针变量的前面,就是通写在指针变量的前面,就是通过该指针访问它所指向的存储单元。我们在上过该指针访问它所指向的存储单元。我们在上面三条语句后面,再加上一条执行语句,变成:面三条语句后面,再加上一条执行语句,变成:int i;/*定义整型变量定义整型变
6、量i */int*p;/*定义指针变量定义指针变量p */p=&i;/*p指向指向i */*p=3;/*使使i的内容为的内容为3 */最后一句是将最后一句是将p指向的存储单元指向的存储单元i的内容赋值为的内容赋值为3。3、指针和指针变量:、指针和指针变量:.2000200420062005整型变量i10变量i_pointer200120022003指针:一个变量的地址指针变量:专门存放变量地址的变量叫2000指针指针变量 变量的内容 变量的地址指针变量变量变量地址(指针)变量值指向地址存入指针变量&与与*运算符运算符含义含义含义含义:取变量的地址取变量的地址单目运算符单目运算符优先级优先级:2
7、结合性结合性:自右向左自右向左含义含义:取指针所指向变量的内容取指针所指向变量的内容单目运算符单目运算符优先级优先级:2结合性结合性:自右向左自右向左两者关系:互为两者关系:互为逆运算逆运算理解理解.2000200420062005整型变量整型变量i10变量变量i_pointer2001200220032000指针变量指针变量i_pointer-指针变量,它的内容是地址量指针变量,它的内容是地址量*i_pointer-指针的指针的目标变量目标变量,它的内容是数据,它的内容是数据&i_pointer-指针变量占用内存的地址指针变量占用内存的地址200010i_pointer*i_pointer&
8、i_pointerii_pointer&i&(*i_pointer)i *i_pointer *(&i)i_pointer =&i =&(*i_pointer)i =*i_pointer =*(&i)指针变量指针变量指针变量指针变量与其与其所指向的变量所指向的变量之间的关系之间的关系指针变量的定义一般形式:存储类型 数据类型 *指针名;3变量变量i2000i_pointer*i_pointeri*i_pointer&ii_pointeri=3;*i_pointer=33变量变量i2000i_pointer*i_pointeri*i_pointer&ii_pointeri=3;*i_pointe
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计第十八讲 指针1 语言程序设计 第十八 指针