C語言怎樣判斷一個變量是否為空?
在C/C中,任何變量在定義后都有自己的內存空間,內存空間中一定有值,所以不存在絕對的空值。一般來說,判斷空值就是判斷確定后是否已經(jīng)賦值,所以只需要判斷變量值是否還是初始值。
區(qū)分變量類型,有一些常見的初始化情況:
1.指針類型。
指針類型一般初始化為NULL,這是stdlib.h中定義的宏,其值為(void*)0。因此,判斷指針P為空值的一般方法如下
pNULL
如果相等,則為空。
2.整數(shù)序列。
包括int、short、char、long以及相應的無符號類型。
整數(shù)沒有通用的初始化方法,一般初始化為0或非法值。即在程序運行期間不發(fā)生的賦值,如負值或最大值。
定義varINIT_VALUE類型時。
VarINIT_VALUE可以用來判斷是否為空(賦值)。需要注意的是,如果INIT_VALUE選擇不當,可能導致運算時初始值被賦值(未初始化),那么這個判斷就無效。
3.字符串/字符指針:
通常,它被初始化為全零。可以通過判斷長度或者第一個字符的值來判斷是否為空。比如字符串chars[N]:
Strl
如何對字符型數(shù)組賦值(C語言)?
初始化和賦值是兩種完全不同的操作。初始化意味著在創(chuàng)建變量時給它一個初始值,賦值意味著擦除對象的當前值并用新值替換它。
“我愛你
c語言邏輯變量怎么定義?
c語言邏輯變量定義:用于為變量分配存儲空間,也可以為變量指定初始值。在程序中,一個變量有且只有一個定義。
變量聲明:用于向程序表明變量的類型和名稱。
定義也是聲明,外部聲明不是定義。
定義也是聲明:當定義一個變量時,我們聲明它的類型和名字。
定義全局變量指針并在函數(shù)中賦值在其他函數(shù)中可以調用嗎?
由于是全局變量,全局指針變量的初始值一般賦為NULL。比如定義:int*pNULL時,先判斷是否為NULL再使用。如果為空,則不可用,否則該函數(shù)已被賦值。