初識C指標

2021-10-03 20:43:46 字數 1217 閱讀 7504

什麼是指標?

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 指標

你可能一直有乙個疑問,計算在儲存資料時如何跟蹤這三個屬性 下面就來看看一種策略,它以指標為基礎,指標是乙個變數,其儲存的是值的位址,而不是值本身。在討論指標之前,我們看看如何找到常規變數的位址。只需對變數應用位址運算子 就可以獲得它的位置。使用常規變數時,值是指定的量,而位址是派生量。下面來看看指標...