指標可以用關係運算子進行比較,如 ==、< 和 >。如果 p1 和 p2 指向兩個相關的變數,比如同乙個陣列中的不同元素,則可對 p1 和 p2 進行大小比較。下面的程式修改了上面的例項,只要變數指標所指向的位址小於或等於陣列的最後乙個元素的位址 &var[max - 1
],則把變數指標進行遞增:
#include
const
int max = 3
;int
main ()
;
int i, *ptr;
/*指標中第乙個元素的位址
*/ptr = var
; i = 0
;
while ( ptr <= &var[max - 1
] )
return0;
}當上面的**被編譯和執行時,它會產生下列結果:
address of
var[0] =bfdbcb20
value of
var[0] = 10
address of
var[1] =bfdbcb24
value of
var[1] = 100
address of
var[2] =bfdbcb28
value of
var[2] = 200
函式指標之間的比較
因為某種原因 threaded red black tree c warpper 需要比較兩個函式指標是否相等。但是,這麼貌似很簡單的需求卻得不到滿足。下表,是在visual c 2008 中,同乙個函式通過不同途徑得到的指標 key comp 0x0041158c febird trb compa...
引用與指標的比較
引用在建立的同時必須初始化,即引用到乙個有效的物件 而指標在定義的時候不必初始化,可以在定義後面的任何地方重新賦值 不存在 引用,引用必須與合法的儲存單元關聯 而指標則可以是null.引用一旦被初始化為指向乙個物件,它就不能被改變不另乙個物件的引用 而指標在任何時候都可以改變為指向另乙個物件 給引用...
C 指標比較的含義
這個問題我是在 c 必知必會 條款28裡面看到的。c 指標比較的不是位址,而是物件同一性問題。即指標位址可以不同,而比較的結果卻相同,因為它們指向的是同乙個物件。這個問題用多重繼承比較直觀 include 2 3 using namespace std 4 5 class a 8 9 class b...