正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 因此,下面两个语句作用相同: *i pointer=3: 第二个语句的含义是将3赋给指针变量 I pointer所指向的变量 10.21定义一个指针变量 对指针变量的定义包括三个内容: (1)指针类型说明,即定义变量为一个指针变量 (2)指针变量名 (3)变量值(指针)所指向的变量的数据类型 其一般形式为: 类型说明符*变量名 其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指 针变量所指向的变量的数据类型 例如:int*p1 表示pl是一个指针变量,它的值是某个整型变量的地址。或者说pl指向一个整型变量。 至于pl究竟指向哪一个整型变量,应由向p1赋予的地址来决定 再如 int * p2 /*p2是指向整型变量的指针变量* float *p3 /*p3是指向浮点变量的指针变量*/ char **p4 /*p4是指向字符变量的指针变量* 应该注意的是,一个指针变量只能指向同类型的变量,如P3只能指向浮点变量,不能 时而指向一个浮点变量,时而又指向一个字符变量。 10.22指针变量的引用 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋 值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址, 决不能赋予任何其它数据,否则将引起错误。在C语言中,变量的地址是由编译系统分配的, 对用户完全透明,用户不知道变量的具体地址。 两个有关的运算符 1)&:取地址运算符 2)*:指针运算符(或称间接访问〃运算符)。 C语言中提供了地址运算符&来表示变量的地址。 其一般形式为: &变量名 如&a表示变量a的地址,贴b表示变量b的地址。变量本身必须预先说明 设有指向整型变量的指针变量p,如要把整型变量a的地址赋予p可以有以下两种方式 (1)指针变量初始化的方法 (2)赋值语句的方法 第3页靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第3页 因此,下面两个语句作用相同: i=3; *i_pointer=3; 第二个语句的含义是将 3 赋给指针变量 i_pointer 所指向的变量。 10.2.1定义一个指针变量 对指针变量的定义包括三个内容: (1) 指针类型说明,即定义变量为一个指针变量; (2) 指针变量名; (3) 变量值(指针)所指向的变量的数据类型。 其一般形式为: 类型说明符 *变量名; 其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指 针变量所指向的变量的数据类型。 例如: int *p1; 表示 p1 是一个指针变量,它的值是某个整型变量的地址。或者说 p1 指向一个整型变量。 至于 p1 究竟指向哪一个整型变量,应由向 p1 赋予的地址来决定。 再如: int *p2; /*p2 是指向整型变量的指针变量*/ float *p3; /*p3 是指向浮点变量的指针变量*/ char *p4; /*p4 是指向字符变量的指针变量*/ 应该注意的是,一个指针变量只能指向同类型的变量,如 P3 只能指向浮点变量,不能 时而指向一个浮点变量,时而又指向一个字符变量。 10.2.2指针变量的引用 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋 值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址, 决不能赋予任何其它数据,否则将引起错误。在C语言中,变量的地址是由编译系统分配的, 对用户完全透明,用户不知道变量的具体地址。 两个有关的运算符: 1) &:取地址运算符。 2) *:指针运算符(或称“间接访问” 运算符)。 C语言中提供了地址运算符&来表示变量的地址。 其一般形式为: &变量名; 如&a 表示变量 a 的地址,&b 表示变量 b 的地址。变量本身必须预先说明。 设有指向整型变量的指针变量p,如要把整型变量a 的地址赋予p可以有以下两种方式: (1) 指针变量初始化的方法 int a; int *p=&a; (2) 赋值语句的方法
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有