![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
|||||
| 指针变量的定义与引用 | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-7-2 ![]() |
|||||
|
6.2.1 指针变量的定义
在C程序中,存放地址的指针变量需专门定义; int *ptr1; float *ptr2; char *ptr3; 表示定义了三个指针变量ptr1、ptr2、ptr3。ptr1可以指向一个整型变量, ptr2可以指向一个实型变量,ptr3可以指向一个字符型变量,换句话说, ptr1、ptr2、ptr3可以分别存放整型变量的地址、实型变量的地址、字符型变量的地址。 定义了指针变量,我们才可以写入指向某种数据类型的变量的地址,或者说是为指针变量赋初值: int *ptr1,m= 3; float *ptr2, f=4.5; char *ptr3, ch='a'; ptr1 = & m ; ptr2 = & f ; ptr3 = & c h ; 上述赋值语句ptr1 = & m表示将变量m的地址赋给指针变量ptr1,此时ptr1就指向m。三条赋值语句产生的效果是ptr1指向m;ptr2指向f;ptr3指向ch 。用示意图6 - 3描述如下: 需要说明的是,指针变量可以指向任何类型的变量,当定义指针变量时,指针变量的值是随机的,不能确定它具体的指向,必须为其赋值,才有意义。 6.2.2 指针变量的引用 利用指针变量,是提供对变量的一种间接访问形式。对指针变量的引用形式为: *指针变量 其含义是指针变量所指向的值。 [例6-1] 用指针变量进行输入、输出。 m a i n ( ) { int *p,m; s c a n f ( " % d " , & m ) ; p = & m ; / *指针p指向变量m * / printf("%d",*p); /* p是对指针所指的变量的引用形式,与此m意义相同* / } 运行程序: R U N ¿ 3¿ 3 上述程序可修改为: m a i n ( ) { int *p,m; p = & m ; s c a n f ( " % d " , p ) ; /* p是变量m的地址,可以替换& m * / printf("%d", m); } 运行效果完全相同。请思考一下若将程序修改为如下形式: m a i n ( ) { int *p,m; s c a n f ( " % d " , p ) ; p = & m ; printf("%d", m); } 会产生什么样的结果呢?事实上,若定义了变量以及指向该变量的指针为: int a,*p; 若p=&a; 则称p指向变量a,或者说p具有了变量a的地址。在以后的程序处理中,凡是可以写& a的地方,就可以替换成指针的表示p,a就可以替换成为* p。
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|