1.2. 地址运算
指针允许的运算方式有:
(1). 指针在一定条件下, 可进行比较, 这里所说的一定条件, 是指两个指
针指向同一个对象才有意义, 例如两个指针变量p, q指向同一数组, 则<, >, >=,
<=, ==等关系运算符都能正常进行。若p==q为真, 则表示p, q指向数组的同一元
素; 若p<q为真, 则表示p所指向的数组元素在q所指向的数组元素之前(对于指向
数组元素的指针在下面将作详细讨论)。
(2). 指针和整数可进行加、减运算。设p是指向某一数组元素的指针, 开始
时指向数组的第0号元素, 设n为一整数, 则
p+n
就表示指向数组的第n号元素(下标为n的元素)。
不论指针变量指向何种数据类型, 指针和整数进行加、减运算时, 编译程序
总根据所指对象的数据长度对n放大, 在一般微机上, char放大因子为1, int、
short放大因子为2, long和float放大因子为4, double放大因子为8。 对于下面
讲述到的结构或联合, 也仍然遵守这一原则。
(3). 两个指针变量在一定条件下, 可进行减法运算。设p, q指向同一数组,
则p-q的绝对值表示p所指对象与q所指对象之间的元素个数。 其相减的结果遵守
对象类型的字节长度进行缩小的规则。
2. 指针和数组
指针和数组有着密切的关系, 任何能由数组下标完成的操作也都可用指针来
实现, 但程序中使用指针可使代码更紧凑、更灵活。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>