您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 辅导 >> 正文    
  C语言程序设计(第6章指针)2 【注册男护士专用博客】          

C语言程序设计(第6章指针)2

www.nanhushi.com     佚名   不详 

6.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 = &ch ;
    上述赋值语句ptr1 = &m表示将变量m的地址赋给指针变量ptr1,此时ptr1就指向m。三条赋值语句产生的效果是ptr1指向m;ptr2指向f;ptr3指向ch 。用示意图6 - 3描述如下:

    需要说明的是,指针变量可以指向任何类型的变量,当定义指针变量时,指针变量的值是随机的,不能确定它具体的指向,必须为其赋值,才有意义。

6.2.2 指针变量的引用
    利用指针变量,是提供对变量的一种间接访问形式。对指针变量的引用形式为:
*指针变量
其含义是指针变量所指向的值。
[例6-1] 用指针变量进行输入、输出。
main( )
{
    int *p,m;
    scanf("%d" , &m);
    p = &m ; / *指针p指向变量m * /
    printf("%d",*p);
/* p是对指针所指的变量的引用形式,与此m意义相同* /
}
运行程序:
3
3
上述程序可修改为:
main( )
{
    int *p,m;
    p = &m ;
    scanf("%d" , p); /* p是变量m的地址,可以替换& m * /
    printf("%d", m);
}
运行效果完全相同。请思考一下若将程序修改为如下形式:
main( )
{
    int *p,m;
    scanf("%d" , p);
    p = &m ;
    printf("%d", m);
}
会产生什么样的结果呢?事实上,若定义了变量以及指向该变量的指针为:
int a,*p;
若p=&a; 则称p指向变量a,或者说p具有了变量a的地址。在以后的程序处理中,凡是可
以写&a的地方,就可以替换成指针的表示p,a就可以替换成为*p。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目