C语言基本教程(四)指针、布局、连系和列举(3)
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.指针和数组
指针和数组有着密切的干系,任何能由数组下标完成的操纵也都可用指针来实现,但措施中利用指针可使代码更紧凑、更机动。