位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言 指針的賦值運算

提問人:劉團圓發(fā)布時間:2020-12-01

可以將一個變量的地址賦給指針,也可以在指針變量之間相互賦值。

(1)將變量的地址賦給指針 

將變量的地址賦給指針,例如:

    float x;

    float px, py;

    px=&x;

    py=&x;

    上述定義語句定義了一個float型變量X,又定義了兩個float型指針px、py,之后將變量x的地址賦給指針px、py,即px、py中存放的都是變量x的地址。

(2)將一個指針的值賦給另一個指針 

相同類型的指針之間是可以相互賦值的,例如:

    int a;

    int p=&a,q;

    q=p;

指針p指向a,當使用賦值語句q=p,將指針p的值賦給q時,q中存儲的也是變量a的地址,所以,p、q都指向a。

(3)對指針賦空值

    在定義指針時,如果沒有給指針賦值,指針就是懸空指針。懸空指針是不安全的,如果程序設計人員不想給變量初始化,可以給變量賦空值,說明指針不指向任何單元。

    空值用NULL表示。NULL是一個常量,在stdio.h頭文件中定義,使用形式為:

    p=NULL;

    也可以直接為指針變量賦值0,其形式為:

    p=0;

    或

    p='\0';

    為指針賦空值NULL (或0 )并不是將指針P指向0地址單元,而是明確表明指針P不指向任何地址空間。

    和普通變量一樣,指針也有全局指針和局部指針,同樣也有局部靜態(tài)指針。對于全局指針和局部靜態(tài)指針,如果沒有初始化,系統(tǒng)自動為其賦值0。但局部指針不會被自動初始化,因此指向哪里并不確定。建議程序設計人員在程序設計中對于局部指針或初始化或賦空值。


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(0)
返回頂部