清华大学出版社 TSINGHUA UNIVERSITY PRESS 指针和指针变量的定义: 个变量的地址称为该变量的“指针” 例如,地址2000是变量i的指针。如果有一个变 量专门用来存放另一变量的地址(即指针),则 它称为“指针变量”。上述的 i pointer就是 个指针变量 C程序设计(第三版) http://ccf.tsinghua.edu.cn 6
C程序设计(第三版) http://ccf.tsinghua.edu.cn 6 一个变量的地址称为该变量的“指针”。 例如,地址2000是变量i的指针。如果有一个变 量专门用来存放另一变量的地址(即指针),则 它称为“指针变量”。上述的i_pointer就是一 个指针变量。 指针和指针变量的定义:
清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.2变量的指针和指向变量的指 针变量 pointer *pointer 2000 2000 10.2.1定义一个指针变量 定义指针变量的一般形式为 基类型指针变量名; C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 7 10.2 变量的指针和指向变量的指 针变量 10.2.1 定义一个指针变量 定义指针变量的一般形式为 基类型 *指针变量名;
清华大学出版社 TSINGHUA UNIVERSITY PRESS 下面都是合法的定义: float *pointer 3 char pointer 4 可以用赋值语句使一个指针变量得到另一个变 量的地址,从而使它指向 pointer 例如: pointer 1 =& pointer 2=&j; pointer- 2 C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 8 下面都是合法的定义: float *pointer_3; char *pointer_4; 可以用赋值语句使一个指针变量得到另一个变 量的地址,从而使它指向一个该变量。 例如: pointer_1=&i; pointer_2=&j;
在定义指针变量时要注意两点:s (1)指针变量前面的“*”,表示该变量的类型为指针型 变量。 例:foat* pointer1; 指针变量名是 pointer1,而不是* pointer1。 (2)在定义指针变量时必须指定基类型 需要特别注意的是,只有整型变量的地址才能放到指向 整型变量的指针变量中。下面的赋值是错误的 float a Int*k pointer 1 pointer 1=&a C程序设计(第三版) http://ccf.tsinghua.edu.cn
C程序设计(第三版) http://ccf.tsinghua.edu.cn 9 在定义指针变量时要注意两点: (1)指针变量前面的“*”,表示该变量的类型为指针型 变量。 例: float *pointer_1; 指针变量名是pointer_1 ,而不是* pointer_1 。 (2) 在定义指针变量时必须指定基类型。 需要特别注意的是,只有整型变量的地址才能放到指向 整型变量的指针变量中。下面的赋值是错误的∶ float a; int * pointer_1; pointer_1=&a;
清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.2.2指针变量的引用 注意:指针变量中只能存放地址(指针), 不要将一个整数(或任何其他非地址类型的数据) 赋给一个指针变量 例10.1通过指针变量访问整型变量 #include <stdio. h> void main () int a, b; Int pointer 1 pointer 2; a=100;b=10; pointer1=&a;/把变量a的地址赋给 pointer 1* C程序设计(第三版) http://ccf.tsinghua.edu.cn 10
C程序设计(第三版) http://ccf.tsinghua.edu.cn 10 10.2.2 指针变量的引用 注意:指针变量中只能存放地址(指针), 不要将一个整数(或任何其他非地址类型的数据) 赋给一个指针变量。 例10.1 通过指针变量访问整型变量 #include <stdio.h> void main ( ) { int a,b; int *pointer_1, *pointer_2; a=100;b=10; pointer_1=&a; /*把变量a的地址赋给 pointer_1 */