第8章指针 例如: staic int * p2 /*p2是指向静态整型变量的指针变量* foat“p3; /*p3是指向浮点型变量的指针变量* char /*p4是指向字符型变量的指针变量* 应该注意的是,一个指针变量只能指向同类型的 变量,如P3只能指向浮点型变量,不能时而指向一个 浮点型变量,时而又指向一个字符型变量。 Ba
第8章 指针 例如: staic int *p2; /*p2是指向静态整型变量的指针变量*/ float *p3; /*p3是指向浮点型变量的指针变量*/ char *p4; /*p4是指向字符型变量的指针变量*/ 应该注意的是,一个指针变量只能指向同类型的 变量,如P3只能指向浮点型变量,不能时而指向一个 浮点型变量,时而又指向一个字符型变量
第8章指针 822指针变量的引用 指针变量同普通变量一样,使用之前不仅要定义 说明,而且必须赋予具体的值。未经赋值的指针变量 不能使用,否则将造成系统混乱,甚至死机。同时, 指针变量的赋值只能赋予地址,决不能赋予任何其他 数据,否则将引起错误 在C语言中,初始变量的地址是由编译系统分配 的,对用户完全透明,用户不知道变量的具体地址 Ba
第8章 指针 8.2.2 指针变量的引用 指针变量同普通变量一样,使用之前不仅要定义 说明,而且必须赋予具体的值。未经赋值的指针变量 不能使用,否则将造成系统混乱,甚至死机。同时, 指针变量的赋值只能赋予地址,决不能赋予任何其他 数据,否则将引起错误。 在C语言中,初始变量的地址是由编译系统分配 的,对用户完全透明,用户不知道变量的具体地址
第8章指针 C语言中提供了地址运算符&来表示变量的地址 其一般形式为 &变量名 如&a表示变量a的地址,&b表示变量b的地址。变 量本身必须预先说明或定义 设有指向整型变量的指针变量p,如要把变量a的 地址赋予p可以有以下两种方式: (1)指针变量初始化的方法: int a Int=ca Ba
第8章 指针 C语言中提供了地址运算符&来表示变量的地址。 其一般形式为 &变量名 如&a表示变量a的地址,&b表示变量b的地址。变 量本身必须预先说明或定义。 设有指向整型变量的指针变量p,如要把变量a 的 地址赋予p可以有以下两种方式: (1) 指针变量初始化的方法: int a; int *p=&a;
第8章指针 (2)赋值语句的方法: int a Int p p=&a 不允许把一个数赋予指针变量,如下面的赋值是 错误的: Int p p=1000 被赋值的指针变量前不能再加“*”说明符,如写 为*p=&a也是错误的。 Ba
第8章 指针 (2) 赋值语句的方法: int a; int *p; p=&a; 不允许把一个数赋予指针变量,如下面的赋值是 错误的: int *p; p=1000; 被赋值的指针变量前不能再加“*”说明符,如写 为*p=&a 也是错误的
第8章指针 8.3指针运算 8.3.1指针变量的算术运算 指针变量可以进行某些运算,但其运算的种类是 有限的:如部分算术及关系运算 设px与py是指向具有相同类型且连续存储的一组数 据。如指向同一个数组。若n代表整数,则指针可进行 下列加减运算。 pxtn,px++, px--,++px, -, px-py; py-px; (1)px±n.就是“px的地址±n*px的类型占用的单 元数”所对应的地址 Ba
第8章 指针 8.3 .1 指针变量的算术运算 指针变量可以进行某些运算,但其运算的种类是 有限的:如部分算术及关系运算。 设px与py是指向具有相同类型且连续存储的一组数 据。如指向同一个数组。若n代表整数,则指针可进行 下列加减运算。 px±n,px++,px--,++px,--px,px-py;py-px; (1) px±n. 就是“ px的地址±n*px的类型占用的单 元数”所对应的地址。 8.3 指针运算