當前位置:才華齋>計算機>C語言>

C語言指標變數的型別

C語言 閱讀(2.98W)

導語:指標C語言中最為困難的一部分,我們應該如何學習呢?下面讓我們瞭解一下吧!

C語言指標變數的型別

  對指標變數的型別說明包括三個內容:

(1)指標型別說明,即定義變數為一個指標變數;

(2)指標變數名;

(3)變數值(指標)所指向的變數的資料型別。

其一般形式為: 型別說明符 *變數名;

其中,*表示這是一個指標變數,變數名即為定義的指標變數名,型別說明符表示本指標變數所指向的變數的資料型別。

例如: int *p1;表示p1是一個指標變數,它的值是某個整型變數的地址。 或者說p1指向一個整型變數。至於p1究竟指向哪一個整型變數, 應由向p1賦予的地址來決定。

再如:

staic int *p2; /*p2是指向靜態整型變數的指標變數*/

float *p3; /*p3是指向浮點變數的指標變數*/

char *p4; /*p4是指向字元變數的指標變數*/ 應該注意的是,一個指標變數只能指向同類型的變數,如P3 只能指向浮點變數,不能時而指向一個浮點變數, 時而又指向一個字元變數。

  指標變數的賦值

指標變數同普通變數一樣,使用之前不僅要定義說明, 而且必須賦予具體的值。未經賦值的指標變數不能使用, 否則將造成系統混亂,甚至宕機。指標變數的賦值只能賦予地址, 決不能賦予任何其它資料,否則將引起錯誤。在C語言中, 變數的地址是由編譯系統分配的,對使用者完全透明,使用者不知道變數的具體地址。 C語言中提供了地址運算子&來表示變數的`地址。其一般形式為: & 變數名; 如&a變示變數a的地址,&b表示變數b的地址。 變數本身必須預先說明。設有指向整型變數的指標變數p,如要把整型變數a 的地址賦予p可以有以下兩種方式:

(1)指標變數初始化的方法 int a;

int *p=&a;

(2)賦值語句的方法 int a;

int *p;

p=&a;

不允許把一個數賦予指標變數,故下面的賦值是錯誤的: int *p;p=1000; 被賦值的指標變數前不能再加“*”說明符,如寫為*p=&a 也是錯誤的