指標的比較

2022-08-09 07:54:13 字數 698 閱讀 4339

指標可以用關係運算子進行比較,如 ==、< 和 >。如果 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...