- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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所指向的变量的值输出
*注意,
您可能关注的文档
- 《职业发展与就业指导》课件——10模拟群体面试.pptx
- 《职业发展与就业指导》课件——16.职场进阶:职场人际网络的构建与优化.pptx
- 《职业发展与就业指导》课件——第八章面试礼仪.pptx
- 《职业发展与就业指导》课件——第二章 认识自我之性格探索.pptx
- 《职业发展与就业指导》课件——第九章 面试常见问题及回答技巧.pptx
- 《职业发展与就业指导》课件——第六章本专业就业形势分析.pptx
- 《职业发展与就业指导》课件——第七章 如何制作简历.pptx
- 《职业发展与就业指导》课件——第三章 自我认知之价值观与兴趣探索.pptx
- 《职业发展与就业指导》课件——第十二章-应届生毕业流程及其他就业去向.pptx
- 《职业发展与就业指导》课件——第十四章—社保相关知识.pptx
文档评论(0)