指標變數記憶體

2021-06-21 07:56:03 字數 376 閱讀 3851

1、指標不同於一般變數,存的是變數的位址,在同一架構下位址長度都是相同的(cpu的最大定址記憶體空間),所以不同型別的指標長度都一樣

你輸出的4 4 4,說明指標長度為4位元組

可以記錄的位址範圍是0x00000000~0xffffffff,這個範圍才是指標變數的值

比如說乙個char 1位元組,可以存在0x0,也可以位於0xffffffff

而和char占用1位元組還是100位元組無關,指標的範圍只和機器字和系統有關

比如你的32位系統,指標長度為4,在64位作業系統下那麼就都是8了

例子:
64位機器,定義的變數 int * a[2][3]占用 2*3*4個位元組

變數 記憶體 指標

變數 記憶體 指標 1 乙個變數需要使用一段連續的記憶體存放,記憶體中的二進位制數,就是變數值。相同的二進位制數,根據變數資料型別,表現為不同的變數值 2 可以宣告乙個變數代表這段記憶體,對這個變數賦值就是對這段記憶體寫入資料,在表示式中使用這個變數就是從記憶體中讀取資料 或者說 乙個變數就是特定的...

變數 記憶體 指標 二

測試用 int li array 5 int p li array cout p 1 p 1 cout p 2 1 p 2 1 寫法有些不正常,但是合法,正常情況下會寫成 p 3 或是 p 3 結論1 是個與 類似的 按位址訪問資料 的運算子 1.在c 中,按位址訪問 寫讀 記憶體中資料有兩種方法 ...

指標變數所佔記憶體

應該說這是乙個非常基礎的問題,教科書上說指標大小和機器字長相同,即32位機指標長度為4位元組!但是對不對呢?為什麼是這樣?搜了一下相關資料。居然發現回答不統一,很多人也同樣是糊里糊塗。字長 在同一時間中處理二進位制數的位數叫字長。通常稱處理字長為8位資料的cpu叫8位cpu,32位cpu就是在同一時...