字体
第(5/5)页
关灯
   存书签 书架管理 返回目录
所指向的变量的数据类型。

    其一般形式为:

    类型说明符  *变量名;

    其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指

    针变量所指向的变量的数据类型。

    例如:    int *p1;

    表示 p1 是一个指针变量,它的值是某个整型变量的地址。或者说 p1 指向一个整型变量。

    至于 p1 究竟指向哪一个整型变量,应由向 p1 赋予的地址来决定。

    再如:

    int *p2;        /*p2 是指向整型变量的指针变量*/

    float *p3;      /*p3 是指向浮点变量的指针变量*/

    char *p4;       /*p4 是指向字符变量的指针变量*/

    应该注意的是,一个指针变量只能指向同类型的变量,如 P3 只能指向浮点变量,不能

    谭浩强      C 语言程序设计               2001 年 5 月 1 日

    时而指向一个浮点变量,时而又指向一个字符变量。

    10.2.2 指针变量的引用

    指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋

    值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址,

    决不能赋予任何其它数据,否则将引起错误。在C语言中,变量的地址是由编译系统分配的,

    对用户完全透明,用户不知道变量的具体地址。

    两个有关的运算符:

    1) &:取地址运算符。

    2) *:指针运算符(或称“间接访问” 运算符)。

    C语言中提供了地址运算符&来表示变量的地址。

    其一般形式为:

    &变量名;

    如&a 表示变量 a 的地址,&b 表示变量 b 的地址。变量本身必须预先说明。

    设有指向整型变量的指针变量 p,如要把整型变量 a 的地址赋予 p 可以有以下两种方式:

    (1) 指针变量初始化的方法

    int a;

    int *p=&a;

    (2) 赋值语句的方法

    int a;

    int *p;

    p=&a;

    不允许把一个数赋予指针变量,故下面的赋值是错误的:

    int *p;

    p=1000;

    被赋值的指针变量前不能再加“*”说明符,如写为*p=&a 也是错误的。

    假设:

    int i=200, x;

    int *ip;

    我们定义了两个整型变量 i,x,还定义了一个指向整型数的指针变量 ip。i,x 中可存放

    整数,而 ip 中只能存放整型变量的地址。我们可以把 i 的地址赋给

    松语文学免费小说阅读_www.16sy.com
上一页 目录 下一章