c语言程序设计第八章指针,C语言程序设计第八章:指针.ppt

253b171540df25e1b84436cbe50dfc72.gifC语言程序设计第八章:指针.ppt

指针的概念,内存,5,int i,2000,地址变量,数据,2000,int p,指针,指针p 指向变量 i,4000,指针变量的定义和初始化,定义指针变量的一般形式如下 数据类型 *指针变量名1,*指针变量名2,;该指针变量可以指向何种数据类型的变量,说明符,说明其后是指针变量名例如 int *p; 定义指向整型变量的指针变量p。 float *fp; 定义指向单精度型变量的指针变量fp。 char *cp1,*cp2; 定义cp1、cp2是指向字符型变量的指针。 double *q; 定义q是指向双精度型变量的指针。,标识符满足命名规则,指针变量的赋值,(1)初始化指针变量 例如 int a; int *p 使用赋值语句为指针赋值时,前面不能再加“*”说明符,如*p p,指针的引用include void main int a,b,*p,*q; a11; b22; p,【例8-1】通过指针操作来输出变量的值和地址,指针的引用,printf“输出x和y的地址ax,bxnn“,p,q; pq; printf“将指针q的值赋给指针p后n“; printf“输出x和y的值ad,bdn“,*p,*q; printf“输出x和y的地址ax,bxnn“,p,q; ,图8-1 例8-1运行结果,【注意】 (1)*p*q;是将q指向的变量的值赋给p指向的变量,即 *p*qaba22, 此时,p和q的值都是22,p和q本身的值并未改变,p仍指向a,q指向b。 (2)pq;是将q的值赋给p,即 pqp后 (3)执行pq;后,指针的引用,表8-1 “ i5; p ,【例8-2】通过“*”与“ int *p,变量、指针变量和指向指针的指针之间的关系如图所示,指向指针的指针include include void main char c7“string“; char *p,q; forint i0;istrlenc;i p ,【例8-3】使用指向指针的指针实现程序,图8-6 例8-3运行结果,另外两种方法 include include void main char c7“string“; char *p; forint i0;i include void main char c7“string“; forint i0;istrlenc;i printf“c的地址xn“,ci, ,总结,指针是一个变量,它存储另一个对象的内存地址 指针的声明由基本类型、星号 * 和变量名组成 为指针赋值,赋值运算符右侧必须是一个地址。如果是普通变量需要在前面加一个取地址运算符 ;如果是另一个指针变量或者是一个数组,不需要加 运算符 运算符“ *” 用于返回指针指向的内存地址中存储的值 指针的算术运算的含义是指针的移动,将指针执行加上或者减去一个整数值n的运算相当于指针向前或向后移动n个数据单元 指针可以执行比较相等的运算,用来判断两个指针是否指向同一个变量 指向数组的指针,存储的是数组中元素的地址。,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值