指 針 是 一 個 特 殊 的 變 量 , 它 裡 面 存 儲 的 數 值 被 解 釋 成 為 內 存 裡 的 一 個 地 址 。要 搞 清 一 個 指 針 需 要 搞 清 指 針 的 四 方 面 的 內 容 : 指 針 的 類 型 、 指 針 所 指 向 的類 型 、 指 針 的 值 或 者 叫 指 針 所 指 向 的 內 存 區 、 指 針 本 身 所 佔 據 的 內 存。
從 語 法 的 角 度 看 , 只需 把將指 針 聲 明 語 句 裡 的 指 針 名 字 去 掉 , 剩 下 的 部
分 就 是 這 個 指 針 的 類 型 。 這 是 指 針 本 身 所 具 有 的 類 型 。
例如:從 語 法 上 看 , 你 只 須 把 指 針 聲 明 語 句 中 的 指 針 名 字 和 名 字 左 邊 的 指 針 宣告 符* 去 掉 , 剩 下 的 就 是 指 針 所 指 向 的 類 型。
例如:在 指 針 的 算 術 運 算 中 , 指 針 所 指 向 的 類 型 有 很 大 的 作 用 。
注:指 針 的 類 型( 即 指 針 本 身 的 類 型 ) 和 指 針 所 指 向 的 類 型 是 兩 個 概 念
指 針 的 值 是 指 針 本 身 存 儲 的 數 值 ,這 個 值 將 被 編 譯 器 當 作 一 個 地 址 , 而不 是 一 個 一 般 的 數 值 。 在 32 位 程 序 裡 , 所 有 類 型 的 指 針 的 值 都 是 乙個32 位整 數 , 因為 32 位 程 序 裡 內 存 地 址 全 都是32 位 長。指 針 所 指 向 的 內 存 區 就是 從 指 針 的 值 所 代 表 的 那 個 內 存 地 址 開 始 , 長 度為 sizeof( 指 針 所 指 向 的 型別 ) 的 一 片 內 存 區 。 我 們 說 一 個 指 針 的 值是 xx , 就 相 當 於 說 該 指 針 指向 了 以 xx 為 首 地 址 的 一 片 內 存 區 域 ; 我 們 說 一 個 指 針 指 向 了 某 塊 內 存 區 域 ,就 相 當 於 說 該 指 針 的 值 是 這 塊 內 存 區 域 的 首 地 址 。
指 針 所 指 向 的 內 存 區 和 指 針 所 指 向 的 類 型 是 兩 個 完 全 不 同 的 概 念 。
指 針 本 身 佔 的 內 存 只需用函式sizeof( 指 針 的 類 型) ) 測 一 下就 知 道 了 。
例如:
C語言之指標(一)
一 指標的定義 初始化及解引用 1 什麼是指標?在對程式進行編譯時系統會給每個變數分配記憶體空間,在對乙個變數進行操作時,會先對它的記憶體空間進行定址,每乙個變數都有它自己的位址,指標就相當於變數位址,通過指標能找到變數的記憶體單元。2 直接訪問和間接訪問 直接到變數名標識的儲存單元中讀取變數的值叫...
C語言之指標
指標型別的本質分析 1 指標的本質 指標的本質 一種復合的資料型別。下面我將以下面幾個作為例子進行展開分析 a int p b int p c int parvalue 3 d int pfun 分析 所謂的資料型別就是具有某種資料特徵的東東,比如資料型別char,它的資料特徵就是它所佔據的記憶體為...
C語言之指標
指標的概念 什麼是指標?如果用一句話概括的的話那就是,乙個存放記憶體空間位址的變數。指標也是乙個變數,指標存放的內容是乙個位址,該位址指向乙個記憶體空間。指標變數的定義 int p 該變數用來存放乙個空間的位址。p 代表該指標指所指向記憶體空間中的值,切記指標只能存放有效的記憶體空間位址,不能存放其...