記憶體中的指標

2021-09-29 13:42:46 字數 715 閱讀 4697

指標是c語言的重要特性,指標是一種變數,它表示的不是資料的值,而是儲存著資料的記憶體位址。使用指標可對任意指定位址的資料進行讀寫。

windows計算機上使用的程式通常為32位(4位元組)的記憶體位址,此時指標變數的長度也是32位

和普通變數定義不同的是,在定義指標時,會在變數名前新增乙個星號(*)。

// c語言中定義不同型別的指標變數

char *d; // char型別的指標d的定義

short *e; // short 型別的指標e的定義

long *f; // long型別的指標f的定義

既然d、e、f用來儲存32位(4位元組)位址的變數,為什麼又指定char(1位元組)、short(2位元組)、long(4位元組)這些資料型別呢?

實際上,這些資料型別表示的是從指標儲存的位址中一次能夠讀寫的資料位元組數。

指標的資料型別表示一次可讀寫的長度

假設d、e、f的值都是100,在這種情況下,使用d時就能夠從編號100的位址中讀寫乙個位元組的資料。使用e時就是2個位元組(100位址和101位址)的資料。使用f時就是4個位元組(100~103位址)的資料。

C C 中的記憶體洩漏 記憶體溢位 野指標

記憶體溢位 野指標發生原因class object object intmain class object1 int main 發生原因 為什麼說strcpy和strncpy是c 的危險函式 2.strncpy strncpy dest,src,sizeof dest dest sizeof des...

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

sizeof 的特點 printf d int printf d float printf d double 其結果為 4 4 4 這就是面試的時候問你,指標在記憶體中佔多少個位元組?這就是個問題不是簡單的2,4,甚至8個位元組 回答 指標在記憶體中所在的位元組數是由系統的定址能力決定的,定址能力就...

C中記憶體與指標的理解

include include 程式 指令,define定義的常量 區 唯讀 全域性 關鍵 變數 常量,靜態 關鍵 變數 常量,常量字串 靜態區 靜態區的內容在總個程式的生命週期內都存在,由編譯器在編譯的時候分配。區域性變數 棧區 棧區上的內容只在函式的範圍內存在,當函式執行結束,這些內容也會自動被...