《C语言程序设计》课件-38指针变量的定义及使用_第1页
《C语言程序设计》课件-38指针变量的定义及使用_第2页
《C语言程序设计》课件-38指针变量的定义及使用_第3页
《C语言程序设计》课件-38指针变量的定义及使用_第4页
《C语言程序设计》课件-38指针变量的定义及使用_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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);

}

运行情

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论