指針定義和初始化


指針變量的類型說明

對指針變量的類型說明包括三個內容:
(1)指針類型說明,即定義變量為一個指針變量;
(2)指針變量名;
(3)變量值(指針)所指向的變量的數據類型。
   其一般形式為: 類型說明符 *變量名;
其中,*表示這是一個指針變量,變量名即為定義的指針變量名,類型說明符表示本指針變量所指向的變量的數據類型。

指針變量的初始化

指針變量同普通變量一樣,使用之前不僅要定義說明, 而且必須進行初始化。未初始化的指針變量不能使用, 否則將造成系統混亂,甚至死機。

指針變量的初始化只能賦予地址, 決不能賦予任何其它數據,否則將引起錯誤。在C語言中, 變量的地址是由編譯系統分配的,對用戶完全透明,用戶不知道變量的具體地址。

注意:

不允許把一個數賦予指針變量,故下面的賦值是錯誤的: int *p;p=1000;

聲明一個指針變量並不會自動分配任何的內存,對指針執行間接訪問前,指針必須初始化:或者使它指向現有的內存,或者為其分配動態內存。

NULL指針就是不指向任何東西的指針,它可以賦值給另一個指針,永遠表示這個指針不指向任何值。對於NULL指針執行任何的間接訪問操作的后果是不確定的,由編譯器決定。

除了NULL指針之外,再沒有任何內建的記法來表示指針常量,因為無法預知編譯器會把變量放在什么位置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM