首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

一分鐘徹底理解 C 語言指標核心概念

     編輯:C 語言基礎

所有資料皆在記憶體中,為了正確存取,每個位元組編有唯一編號(地址/指標)。32 位系統位址 0 ~ 0xFFFFFFFF。

輸出地址範例

#include <stdio.h>
int main() {
    int a = 100;
    char str[20] = "c.biancheng.net";
    printf("%#X, %#X\n", &a, str); // 0X28FF3C, 0X28FF10
    return 0;
}
  • 變數需 & 取址。
  • 陣列/字串名本身即首地址,無需 &。

一切皆地址

  • 資料與程式碼皆以二進位存放,CPU 僅透過地址存取。
  • 作業系統賦予記憶體區塊不同權限:讀/執行 → 程式碼;讀/寫 → 資料。
  • 變數名、函數名、字串名、陣列名都是地址助記符,編譯鏈接後全被替換為地址。

編譯後的加法運算

0X3000 = (0X1000) + (0X2000);

取地址 0X1000 與 0X2000 的值相加,結果存入 0X3000。

名稱的語義區別

  • 編碼時:變數名表資料本身,函數名/字串名/陣列名表首地址。
  • 本質上皆為地址助記符。

理解「名稱即地址助記符」是掌握指標的關鍵一步。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved