C語言指針變量的類型

來源:文萃谷 2.89W

導語:指針是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 也是錯誤的

熱門標籤