程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> c/c++中空指針,空指針常量,NULL

c/c++中空指針,空指針常量,NULL

編輯:關於C++

如何是一個指針變量成為空指針:
如果 p 是一個指針變量,則 p = 0;、p = 0L;、p = ‘\0’;、p = 3 - 3;、p = 0 * 17; 中的任何一種賦值操作之後(對於 C 來說還可以是 p = (void*)0;), p 都成為一個空指針,由系統保證空指針不指向任何實際的對象或者函數。
NULL: 是一個標准規定的宏定義,用來表示空指針常量。用 p = NULL; 來使 p 成為一個空指針。
空指針的判斷:指針變量 p 是空指針的判斷:
if ( p == 0 )
if ( p == ‘\0’ )
if ( p == 3 - 3 )
if ( p == NULL ) /* 使用 NULL 必須包含相應的標准庫的頭文件 */
if ( NULL == p )
if ( !p ) <—————(這裡和下面的if(p)都被專門說過一次,null定義不一定是0.這裡如果貿然使用!p會很危險的.所以這種寫法不能被提倡)

指針變量 p 不是空指針的判斷:
if ( p != 0 )
if ( p != ‘\0’ )
if ( p != 3 - 3 )
if ( p != NULL ) /* 使用 NULL 必須包含相應的標准庫的頭文件 */
if ( NULL != p )
if ( p )
if ( p != q )

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved