清华大学出版社 TSINGHUA UNIVERSITY PRESS pointer pointer-_2 图10.4
图10.4
清华大学出版社 TSINGHUA UNIVERSITY PRESS 同样,将变量j地址存放到指针变量 pointer2中, 因此 pointer_2就“指向”了变量j。见图10.4。 在定义指针变量时要注意两点: (1)指针变量前面的“*”,表示该变量的类型为指 针型变量。注意:指针变量名是 pointer1、 pointer2,而不是* pointer_1、* pointer2。这是 与以前所介绍的定义变量的形式不同的。 (2)在定义指针变量时必须指定基类型。有的读者认 为既然指针变量是存放地址的,那么只需要指定 其为“指针型变量”即可,为什么还要指定基类 型呢?我们知道整型数据和实型数据在内存中所 占的字节数是不相同的(前者为2字节,后者为4字
同样,将变量j的地址存放到指针变量pointer_2中, 因此pointer_2就“指向”了变量j。见图10.4。 在定义指针变量时要注意两点: (1) 指针变量前面的“*”,表示该变量的类型为指 针型变量。注意:指针变量名是pointer_1、 pointer_2,而不是*pointer_1、 *pointer_2。这是 与以前所介绍的定义变量的形式不同的。 (2) 在定义指针变量时必须指定基类型。有的读者认 为既然指针变量是存放地址的,那么只需要指定 其为“指针型变量”即可,为什么还要指定基类 型呢?我们知道整型数据和实型数据在内存中所 占的字节数是不相同的(前者为2字节,后者为4字
清华大学出版社 TSINGHUA UNIVERSITY PRESS 节),在本章的稍后将要介绍指针的移动和指针的运 算(加、减),例如“使指针移动1个位置”或“使 指针值加1”,这个“1”代表什么呢?如果指针是 指向一个整型变量的,那么“使指针移动1个位置” 意味着移动2个字节,“使指针加1”意味着使地 址值加2个字节。如果指针是指向一个实型变量的, 则增加的不是2而是4。因此必须规定指针变量所 指向的变量的类型,即基类型。一个指针变量只 能指向同一个类型的变量。不能忽而指向一个整 型变量,忽而指向一个实型变量。上面的定义中 表示 pointer1和 pointer2只能指向整型变量。 对上述指针变量的定义也可以这样理解: * pointer1和* pointer_2是整型变量,如同:“int
节),在本章的稍后将要介绍指针的移动和指针的运 算(加、减),例如“使指针移动1个位置”或“使 指针值加1” ,这个“1” 代表什么呢?如果指针是 指向一个整型变量的,那么“使指针移动1个位置” 意味着移动2个字节,“使指针加1” 意味着使地 址值加2个字节。如果指针是指向一个实型变量的, 则增加的不是2而是4。因此必须规定指针变量所 指向的变量的类型,即基类型。一个指针变量只 能指向同一个类型的变量。不能忽而指向一个整 型变量,忽而指向一个实型变量。上面的定义中, 表示pointer_1和pointer_2只能指向整型变量。 对上述指针变量的定义也可以这样理解: *pointer_1和*pointer_2是整型变量,如同:“int
清华大学出版社 TSINGHUA UNIVERSITY PRESS a,B;”定义了a和B是整型变量一样。而 pointer1和* pointer2是 pointer1和 pointer2所 指向的变量, pointer1和 pointer2是指针变量。 需要特别注意的是,只有整型变量的地址才能放 到指向整型变量的指针变量中
a,B;”定义了a和B是整型变量一样。而 *pointer_1和*pointer_2是pointer_1和pointer_2所 指向的变量,pointer_1和pointer_2是指针变量。 需要特别注意的是,只有整型变量的地址才能放 到指向整型变量的指针变量中
清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.2.2指针变量的引用 请牢记,指针变量中只能存放地址(指针),不要将 个整型量(或任何其他非地址类型的数据)赋给 个指针变量。下面的赋值是不合法的 pointer-1=100;( pointer1为指针变量,100为整 数) 有两个有关的运算符: (1)&:取地址运算符。 (2)*:指针运算符(或称“间接访问”运算符) 例如:&a为变量a地址,*p为指针变量p所指向的 存储单元
10.2.2 指针变量的引用 请牢记,指针变量中只能存放地址(指针),不要将 一个整型量(或任何其他非地址类型的数据)赋给一 个指针变量。下面的赋值是不合法的: pointer-1=100; (pointer-1为指针变量,100为整 数) 有两个有关的运算符: (1) &: 取地址运算符。 (2) *: 指针运算符(或称“间接访问”运算符)。 例如:&a为变量a的地址,*p为指针变量p所指向的 存储单元