- 相關(guān)推薦
C語(yǔ)言指針變量的類型
導(dǎo)語(yǔ):指針是C語(yǔ)言中最為困難的一部分,我們應(yīng)該如何學(xué)習(xí)呢?下面讓我們了解一下吧!
對(duì)指針變量的類型說明包括三個(gè)內(nèi)容:
(1)指針類型說明,即定義變量為一個(gè)指針變量;
(2)指針變量名;
(3)變量值(指針)所指向的變量的數(shù)據(jù)類型。
其一般形式為: 類型說明符 *變量名;
其中,*表示這是一個(gè)指針變量,變量名即為定義的指針變量名,類型說明符表示本指針變量所指向的變量的數(shù)據(jù)類型。
例如: int *p1;表示p1是一個(gè)指針變量,它的值是某個(gè)整型變量的地址。 或者說p1指向一個(gè)整型變量。至于p1究竟指向哪一個(gè)整型變量, 應(yīng)由向p1賦予的地址來決定。
再如:
staic int *p2; /*p2是指向靜態(tài)整型變量的指針變量*/
float *p3; /*p3是指向浮點(diǎn)變量的指針變量*/
char *p4; /*p4是指向字符變量的指針變量*/ 應(yīng)該注意的是,一個(gè)指針變量只能指向同類型的變量,如P3 只能指向浮點(diǎn)變量,不能時(shí)而指向一個(gè)浮點(diǎn)變量, 時(shí)而又指向一個(gè)字符變量。
指針變量的賦值
指針變量同普通變量一樣,使用之前不僅要定義說明, 而且必須賦予具體的值。未經(jīng)賦值的指針變量不能使用, 否則將造成系統(tǒng)混亂,甚至死機(jī)。指針變量的賦值只能賦予地址, 決不能賦予任何其它數(shù)據(jù),否則將引起錯(cuò)誤。在C語(yǔ)言中, 變量的地址是由編譯系統(tǒng)分配的,對(duì)用戶完全透明,用戶不知道變量的具體地址。 C語(yǔ)言中提供了地址運(yùn)算符&來表示變量的地址。其一般形式為: & 變量名; 如&a變示變量a的地址,&b表示變量b的地址。 變量本身必須預(yù)先說明。設(shè)有指向整型變量的指針變量p,如要把整型變量a 的地址賦予p可以有以下兩種方式:
(1)指針變量初始化的方法 int a;
int *p=&a;
(2)賦值語(yǔ)句的方法 int a;
int *p;
p=&a;
不允許把一個(gè)數(shù)賦予指針變量,故下面的賦值是錯(cuò)誤的: int *p;p=1000; 被賦值的指針變量前不能再加“*”說明符,如寫為*p=&a 也是錯(cuò)誤的
【C語(yǔ)言指針變量的類型】相關(guān)文章:
C語(yǔ)言指針變量的運(yùn)算05-05
C語(yǔ)言函數(shù)指針變量06-04
C語(yǔ)言變量的類型04-08
C語(yǔ)言的指針類型解析03-20
C語(yǔ)言的指針類型詳解05-21
C語(yǔ)言的指針類型講解02-15