什麼是指標?
type *var-name;
int
*a;/* 乙個整型的指標 */
double
*b;/* 乙個 double 型的指標 */
float
*c;/* 乙個浮點型的指標 */
char
*ch;
/* 乙個字元型的指標 */
所有實際資料型別,不管是整型、浮點型、字元型,還是其他的資料型別,對應指標的值的型別都是一樣的,都是乙個代表記憶體位址的長的十六進製制數。如何使用指標?不同資料型別的指標之間唯一的不同是,指標所指向的變數或常量的資料型別不同。
#include
int main (
)
當上面的**被編譯和執行時,它會產生下列結果:
123address of var variable: bffd8b3c
address stored in ip variable: bffd8b3c
value of *ip variable:
20
c語言中的空指標(null)
在變數宣告的時候,如果沒有確切的位址可以賦值,為指標變數賦乙個 null 值是乙個良好的程式設計習慣。賦為 null 值的指標被稱為空指標。
null 指標是乙個定義在標準庫中的值為零的常量。請看下面的程式:
#include
int main (
)
當上面的**被編譯和執行時,它會產生下列結果:
p的位址是 0x0
在大多數的作業系統上,程式不允許訪問位址為 0 的記憶體,因為該記憶體是作業系統保留的。然而,記憶體位址 0 有特別重要的意義,它表明該指標不指向乙個可訪問的記憶體位置。但按照慣例,如果指標包含空值(零值),則假定它不指向任何東西。 如需檢查乙個空指標,您可以使用 if 語句,如下所示:
if
(p)/* 如果 p 非空,則完成 */if(
!p)/* 如果 p 為空,則完成 */
C指標初識
指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。就像其他變數或常量一樣,您必須在使用指標儲存其他變數位址之前,對其進行宣告。指標變數宣告的一般形式為 type var name 在這裡,type是指標的基型別,它必須是乙個有效的 c 資料型別,var name是指標變數的名稱。用來...
C 初識指標
定義乙個指標指向乙個變數的位址 type p var int i int p i 通過 p讀寫i的值 p 10 int a p 用乙個指標指向另乙個指標的位址,不管幾級指標都是指標.type q p char p abc char q p 讀取二級指標的值 printf s n q 等價於 prin...
初識C 指標
你可能一直有乙個疑問,計算在儲存資料時如何跟蹤這三個屬性 下面就來看看一種策略,它以指標為基礎,指標是乙個變數,其儲存的是值的位址,而不是值本身。在討論指標之前,我們看看如何找到常規變數的位址。只需對變數應用位址運算子 就可以獲得它的位置。使用常規變數時,值是指定的量,而位址是派生量。下面來看看指標...