引用和指標的區別

2021-05-26 00:45:18 字數 563 閱讀 9095

1.初始化要求不同. 引用在建立的同時必須初始化,而指標在定義的時候不必初始化,可以在定義後面的任何地方重新賦值.

2.可修改性不同.引用一旦被初始化,它就不能再被另乙個物件引用;而指標在任何時候都可以指向另乙個物件

3.不存在null引用.引用不能使用指向空值的引用.它必須指向乙個物件;而指標則可以是null,不需要總是指向物件,可以把指標指向任意物件,所以指標更加靈活.

4.測試時的區別.由於引用不會指向空值,這意味著使用引用之前不需要測試它的合法性;而指標則需要經常進行測試.因此使用引用的**效率要比使用指標的高.

5.應用的區別.如果指向乙個物件後就不再改變其指向,那麼應該使用引用.如果指向null(不指向任何物件)或在不同時刻指向不同的物件,應該使用指標.

6.引用的大小是其所引用物件的大小.而指標大小總是為4.

7.引用就是別名,而指標是個實體,指標儲存的是記憶體位址.

引用比指標安全

由於不存在空引用,並且引用一旦被初始化指向乙個物件,它就不能改變為另乙個物件的引用,因此引用安全.

指標可以隨時指向別的物件,並且可以不被初始化,或初始化為null,所以不安全.

指標引用和引用指標的區別

c 在傳參的過程中,指標 和指標引用 是有區別的。雖然,我們往往可以通過傳指標然後通過間址訪問來修改指標所指向物件的值,同樣,通過引用也可以直接修改物件的值。但是,當傳指標的時候有乙個問題,就是,我們雖然可以通過指標來修改指標所指向物件的值,但是我們沒有不能直接修改指標的內容 也就是指標變數存放的位...

傳指標和傳指標引用的區別 指標和引用的區別(本質)

指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...

傳指標和傳指標引用的區別 指標和引用的區別(本質)

指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...