指標和位址的區別

2021-09-08 11:28:23 字數 638 閱讀 3640

指標的分類

指標總共可以分為兩種,函式指標和資料指標。

指標和位址的區別

指標和位址最大的區別就是指標是有型別的,位址是沒有型別的。不能對位址進行算術操作,在涉及諸如陣列等操作時就不能通過位址的自增和自減來訪問陣列的各個變數。

通過對指標的引用,就可以通過對指標進行加減操作(陣列不越界的情況下)方便地訪問陣列的各個元素。

從上分析可以得出,指標是由位址和型別兩部分構成的,指向資料的指標不僅記錄該資料的在記憶體中的存放的位址,還記錄該資料的型別,即在記憶體中占用幾個位元組,這是位址所不具有的。指向函式的指標不僅記錄函式的入口位址,也記錄該函式的型別,即函式的返回值型別和該函式的引數型別。

在c++中還有一種特殊的資料型別,那就是物件,這是一種使用者自定義的資料型別。它即包含了資料,又包含了函式。但是在同乙個類模板宣告的物件變數各自擁有乙份資料成員,卻共享乙份函式成員,因為對有共同類模板的物件來說,他們的資料成員可能不同,但是他們的用來處理資料的函式**確是相同的,所以他們共享乙份成員函式。而此時,物件的指標指向的各自的資料成員。

指標的使用一定要特別小心,千萬不能越界,否則會出現意想不到的結果。而且一定不要使用未初始化過的指標,這樣將會訪問到位置的記憶體,有可能會給作業系統帶來毀滅性的災難,

C和C 中指標與位址的區別

在c語言和c 中,指標是非常重要的一部分,程式的執行過程中可以通過指標來找到要操作的資料和可執行的函式 很多人就明白指標和位址是有區別的,但是很少有人能說清楚這種區別。指標總共可以分為兩種,函式指標和資料指標。而指標和位址最大的區別就是指標是有型別的,位址是沒有型別的。我們當然可以通過絕對位址的方式...

變數的位址和指標

一 變數的位址和指標 計算機中有乙個硬體叫做記憶體條,當我提起這個硬體的時候往往都會說多大的。1g 2g 4g 這都是在說它的空間小,計算機中的記憶體都是以位元組為單位的一片連續的記憶體空間,每乙個位元組都有乙個編號,這個編號就稱為記憶體位址,如同旅館的房間一樣,單人間 雙人間等等,每個房間都有自己...

c語言 指標與位址的區別

指標由兩部分組成,指標的型別和指標的值 也就是變數的位址 位址只是一堆十六進製制的字元,對應著記憶體條的某段記憶體,而指標本身有位址,指標的值也是乙個位址,指標本身還有型別,這與單純的位址是不同的。int a 1 假設a的位址是0x7dfe88 int p int 0x7dfe88 附 指標型別的作...