下载
ptr1 &m m 3 ptr2 &f f 4.5
第6章 指
针
93
ptr3 &ch
ch a
图6-3 赋值语句的效果
需要说明的是,指针变量可以指向任何类型的变量,当定义指针变量时,指针变量的值 是随机的,不能确定它具体的指向,必须为其赋值,才有意义. 6.2.2 指针变量的引用 利用指针变量,是提供对变量的一种间接访问形式.对指针变量的引用形式为: *指针变量 其含义是指针变量所指向的值. [例6-1] 用指针变量进行输入,输出.
main() { int *p,m; scanf("%d",&m); p=&m; /* 指针p指向变量m*/ printf("%d",*p); /* p是对指针所指的变量的引用形式 ,与此m意义相同*/ }
运行程序:
RUN 3 3
上述程序可修改为:
main() { int *p,m; p=&m; scanf("%d",p); printf("%d", m); }
/*
p是变量m的地址,可以替换&m*/
运行效果完全相同.请思考一下若将程序修改为如下形式:
main() { int *p,m; scanf("%d",p); p=&m; printf("%d", m); }
会产生什么样的结果呢 事实上,若定义了变量以及指向该变量的指针为:
int a,*p;
94
C语言程序设计
下载
若p=&a; 则称p指向变量 a,或者说 p具有了变量 a的地址.在以后的程序处理中,凡是可 以写&a的地方,就可以替换成指针的表示 p,a就可以替换成为 *p.
6.3 指针运算符与指针表达式
6.3.1 指针运算符与指针表达式 在C中有两个关于指针的运算符: &运算符: 取地址运算符, &m即是变量m的地址. *运算符:指针运算符, *ptr表示其所指向的变量. [例6-2] 从键盘输入两个整数,按由大到小的顺序输出.
main() { int *p1,*p2,a,b,t; /* 定义指针变量与整型变量*/ scanf("%d,%d",&a,&b); p1=&a; /* 使指针变量指向整型变量*/ p2=&b; if(*p1<*p2) { /*交换指针变量指向的整型变量 */ t=*p1; *p1=*p2; *p2=t; } printf("%d,%d\n",a,b); }
在程序中,当执行赋值操作 p 1 = & a和 p 2 = & b后,指针实实在在地指向了变量 a与b,这时 引用指针*p1与*p2,就代表了变量 a与b. 运行程序:
RUN 3,4 4,3
在程序运行过程中,指针与所指的变量之间的关系如图 6-4所示:
p1 &a p2 &b a) a *p1 3 b *p2 4 p2 &b b) b *p2 3 p1 &a a *p1 4
图6-4 程序运行中指针与变量之间的关系
当指针被赋值后,其在内存的安放如 a),当数据比较后进行交换,这时,指针变量与所指 向的变量的关系如 b)所示,在程序的运行过程中,指针变量与所指向的变量其指向始终没变. 下面对程序做修改.
下载
[例6-3]
main() { int *p1,*p2,a,b,*t; scanf("%d,%d",&a,&b); p1=&a; p2=&b; if(*p1<*p2) { /* 指针交换指向 */ t=p1; p1=p2; p2=t; } printf("%d,%d\n",*p1,*p2); }
第6章 指
针
95
程序的运行结果完全相同,但程序在运行过程中,实际存放在内存中的数据没有移动, 而是将指向该变量的指针交换了指向.其示意如图 6-5:
p1 &a a *p1 3 p1 &b a *p2 3
- c语言指针难 > 指针是C语言的精华部分
-
指针是C语言的精华部分
下载该文档 文档格式:PDF 更新时间:2000-12-07 下载次数:0 点击次数:4文档基本属性 文档语言: 文档格式: PDF 文档作者: 123 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:指针是C语言的精华部分
下一篇:指针是C语言的精华部分
点击查看更多关于c语言指针难的相关文档
- 您可能感兴趣的
- c语言指针 c语言指针视频教程 c语言指针函数编程题 c语言数组与指针 c语言指针的用法 c语言指针视频 c语言答案指针 c语言指针讲解 c语言指针教程
- 大家在找
-
- · 8路数字抢答器论文
- · 可燃气体监控系统的用途
- · 尼坤爱宋茜
- · 杰威尔音乐公司官网
- · 山西三线房价走势2012
- · www.zhidao.baidu.com
- · 内蒙古地质类招聘
- · cad仿真软件
- · 西门子变频器说明书
- · 火影忍者长门vs
- · 第四军医大研究生
- · 白城市贴吧
- · 删繁就简三秋树
- · 360左旋肉碱咖啡
- · 五金手册pdf
- · 农产品加工与贮藏课件
- · 万能声卡驱动软件下载
- · 飞驰的近义词
- · 心理学自考
- · 浙江省职业资格证书
- · 第二教育网初中物理
- · 法学ppt背景
- · 工程竣工财务决算报告
- · 高等数学一微积分下载
- · 常熟市劳动局
- · 外发加工打火机
- · 长沙艺星整形美容医院
- · 超级黄金眼
- · 大棚自动化系统论文
- · 水泵机械密封件
- 赞助商链接