下载
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 点击次数:2文档基本属性 文档语言: 文档格式: PDF 文档作者: cp 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: cp 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:新加坡政府"优才计划"海外带薪实习项目书
下一篇:指针是C语言中的重要概念
点击查看更多关于c语言用指针排序的相关文档
- 您可能感兴趣的
- c语言指针函数编程题 c语言指针 c语言指针视频教程 c语言指针讲解 c语言指针的用法 c语言函数指针 c语言数组与指针 c语言文件指针 c语言中的指针
- 大家在找
-
- · 奔野554
- · 7k7k网页游戏大全
- · 中式烹调师国家技能考试试卷
- · sqlserver数据库下载
- · 单片机控制的应用
- · cad中怎样填充图案
- · 钻床攻丝底孔多大
- · 车工操作安全规程
- · 思想汇报医务工作者
- · 液压扳手江苏麦顿
- · 工程教育再造的机理与路径研究
- · 模特穿c字裤
- · 专升本高数真题
- · 独山子天气
- · 淘宝商城首页女包
- · 船用柴油机工作原理
- · 计算机ppt模板
- · 无锡卡特彼勒待遇
- · 制冷压缩机考试试题
- · 郑州led显示屏租赁
- · pads2007win7
- · 疾病的营养与治疗
- · 河北英语四级考试网
- · 沈阳数控车床价格
- · qq炫舞x西西游戏网
- · 变压器保护论文
- · 很纯很暧昧txt下载
- · 2012高三物理月考试卷
- · pkpm钢结构教学视下载
- · 英语必修一unit4
- 赞助商链接