网站大量收购独家精品文档,联系QQ:2885784924

《C语言程序设计》课件——38指针变量的定义及使用.pptVIP

《C语言程序设计》课件——38指针变量的定义及使用.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

9.2指针变量的定义及使用1.定义格式及说明2.指针变量的引用(1)运算符和*运算符(2)使用指针运算符应注意的问题(3)对指针变量的操作3.指针变量的应用举例9.2.1指针变量的定义

格式:

存储类型数据类型*指针变量名1=初值1,…;

说明:

(1)定义一个指针变量时,必须在一个变量名前加指针说明符“*”。

(2)在定义了一个指针变量后,系统为之分配一个存放指针变量的存储单元。

(3)指针变量和普通变量完全一样,由它的定义位置决定指针的作用域和生命期。

(4)定义指针变量后,该指针变量并未指向确定的变量。

例如:int*p,i=3;

p=I;

(5)一个指针只能指向与其相同类型的变量。9.2.2指针变量的引用

1.“”运算符和“*”运算符

(1)“”运算符,称为“取地址运算符”。

格式:变量名

功能:取某一“变量”的地址。

例如,x的值为变量x的地址。

(2)“*”运算符,称为“指针运算符”或“间接运算符”。

格式:*指针变量名

功能:取某“指针变量”所指向的变量中的内容。

例如:floata,b,*P;

a=1.23;P=a;

b=*P;

printf(%.2f,%.2f,%.2f,a,b,*P);

2.使用指针运算符应注意的问题

(1)指针变量定义中“*”运算符应注意的问题。

inta,*p=a;①

*p=5;②

(2)“”运算符与“*”运算符是互逆的。

例如:“y=x;”与“y=*x;”

3.对指针变量的操作

定义一个指针变量:

int*p,a;

(1)给一个指针变量赋予一个地址值。

p=a;

(2)访问指针变量所指向的变量。

scanf(%d,p);

printf(%d,*p);4.指针变量的应用举例

【例9.1】使两个指针指向同一个变量。

main()

{inta,b,*p1=a,*p2=b; /*p1→a,p2→b*/

scanf(%d,%d,a,b);

printf(%d,%d\n,*p1,*p2);

p2=p1; /*p2→a*/

printf(%d,%d\n,*p1,*p2);

}

运行情况如下:

输入:1,2(回车)

显示:1,2

显示:1,1【例9.2】使两个指针变量交换指向。

main()

{inta=1,b=2,*p1=a,*p2=b,*p;

printf(%d,%d\n,*p1,*p2);

p=p1;p1=p2;p2=p;

printf(%d,%d\n,*p1,*p2);

}

运行结果为:

1,2

2,1

【例9.3】交换两个指针变量所指向的变量的值。

main()

{inta=1,b=2,*p1=a,*p2=b,i;

i=*p1;*p1=*p2;*p2=i;

printf(a=%d,b=%d\n,a,b);

}

运行情况如下:

a=2,b=1注意,指针变量名本身不含“*”号。这个存放指针变量的存贮单元一般都占有固定的字节。定义指针变量后,该指针变量并未指向确定的变量。要想使一个指针变量指向一个确定的变量,必须将确定变量的地址赋给该指针变量。指针变量可以定义为指向实型、字符型或其他类型的变量。但一个指针只能指向与其相同类型的变量。*例如:

floata,b,*p; /*定义p为指向实型变量的指针变量*/

a=1.23;p=a; /*把变量a的地址赋给p*/

b=*p; /*把p所指向的变量中的内容赋给b*/

printf(%.2f,%.2f,b,*p);/*运行结果为:1.23,1.23*/*在定义指针变量的语句①中的“*”不是运算符,是一个说明符。在程序的执行语句②中的“*”是指针运算符“*”,“*p”代表p指向的变量。

例如:“y=x;”与“y=*x;”两个语句是等效的。*将int型变量a的地址赋给int型指针变量p向p所指向的整型变量输入一个整型值将指针变量p所指向的变量的值输出

*注意,

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档