指標變數在記憶體中佔 指標在系統記憶體中所佔的位元組數

2021-10-18 10:57:29 字數 417 閱讀 1246

***sizeof***的特點:

printf(」%d「,int*);

printf(」%d「,float*);

printf(」%d「,double*);

其結果為

4 4 4

這就是面試的時候問你,指標在記憶體中佔多少個位元組?

這就是個問題不是簡單的2,4,甚至8個位元組

回答:指標在記憶體中所在的位元組數是由系統的定址能力決定的,定址能力就是cpu對於該資料範圍處理的極限能力,理論上32位系統的定址能力是2的32次(4gb,也就是現在的虛擬記憶體為4gb),也就是32bit,按照乙個位元組8bit來算就是4個位元組。16位系統是2個位元組,64位的就是8個位元組。定址能力是由系統的硬體決定的,也就是匯流排的位數。

簡單的總結下,32位的4位元組,16位的2位元組,64位的8位元組,由系統的定址能力決定。

指標變數在記憶體中佔 C語言中的指標變數

我想大家應該都知道,指標是c語言的靈魂,我的這種說法應該不是很過分,因為在c語言中,指標真的很重要。指標很強大,並且具有很強的靈活性。指標變數為什麼都是4個位元組的?因為我麼通常使用的都是32位的計算機,記憶體位址都是32位的整數,而指標變數的實質就是記憶體位址。什麼是指標變數?存放位址的變數成為指...

資料在記憶體中的儲存和指標高階

三 指標的高階 11月10日為止,基本學完了c語言的基礎知識,並且開始學習資料在記憶體中的儲存和指標高階的知識。在此總結一下當日所學。如何呼叫結構體中的成員變數呢?有以下兩種方法 1 如果是結構體變數,則使用.2 如果是結構體指標,則使用 另外,結構體作為函式的引數時,一般建議通過傳指標的方式來傳參...

關於C 中父類指標引用物件在記憶體中的分布

通過程式,這是我自己的理解,如果不對,麻煩幫忙指出來 程式1 include using namespace std class classa virtual void functiona int a int b class classb public classa int a int b clas...