C語言中NULL有什麼作用?具體用法是什麼

2021-05-27 14:50:47 字數 3570 閱讀 5273

1樓:

null

其實就是

#define null 0

也就是說它就是0

不過是寫**的時候為指標什麼的賦值或判斷指標是否為空時看起來直觀一些

2樓:匿名使用者

null 屬性指定陣列或指標值是否可以為 null。

pre 和 post 特性上允許此屬性,此屬性只能應用於陣列或指標資料型別。

必須通過使用下列值之一來設定 null 屬性:

sa_yes - 此值為 null。

sa_no - 此值不為 null。

sa_maybe - 此值可以為 null。

注意 sa_ 字首對於 c++ 是可選的。

示例下面的**演示如何使用 null 屬性:

以帶有顏色區分的格式檢視複製到剪貼簿列印// c#include

void f([sa_pre(null=sa_no)] char** pc);

// c++

#include

using namespace vc_attributes;

void f([pre(null=no)] char** pc);

3樓:匿名使用者

在stdio.h(或iostream)中定義:#define null 0

作用就是初始化,int a;編譯器會賦一個不可預知的值,int a = null; a就是0。同理是指標,而且尤其是指標。一個空指標(int* p = null;)比一個野指標(int *p;)要安全的多。

在很多書籍中都提倡使用前後的指標都要賦null。

4樓:匿名使用者

null就是空的意思,一般為0

5樓:匿名使用者

為空,或預設值,不用賦值

c語言中null有什麼作用?具體用法是什麼?

6樓:小惱

給x變數的空間表示為空,表示沒有儲存資料。如果x = 0;表示x的變數中儲存了一個0元素的值。

7樓:百度使用者

null 其實就是 #define null 0 也就是說它就是0 不過是寫**的時候為指標什麼的賦值或判斷指標是否為空時看起來直觀一些。

c語言中null有什麼作用?具體用法是什麼?

8樓:匿名使用者

null 屬性指定陣列或指標值是否可以為 null。

pre 和 post 特性上允許此屬性,此屬性只能應用於陣列或指標資料型別。

必須通過使用下列值之一來設定 null 屬性:

sa_yes - 此值為 null。

sa_no - 此值不為 null。

sa_maybe - 此值可以為 null。

注意 sa_ 字首對於 c++ 是可選的。

示例下面的**演示如何使用 null 屬性:

以帶有顏色區分的格式檢視複製到剪貼簿列印// c#include

void f([sa_pre(null=sa_no)] char** pc);

// c++

#include

using namespace vc_attributes;

void f([pre(null=no)] char** pc);

c語言中null有什麼作用

9樓:浪子惟安

null是c語言中的巨集復定義,其值為0.

也就制是說int* num = null和int* num = 0;

二者的含義是相同bai

的。du

其目的在於,0這個地址在操作zhi系統中是隻讀的dao,當你嘗試訪問的時候會阻止你

但是有些地址不是隻讀的,如果一個指標指向了這個地址,你又在不經意間修改了它

可能會導致一些重要的檔案被修改,所以指標初始化成null是有必要的但是話說回來,現在的作業系統都有段保護機制,即使你不初始化成null,也不會讓你隨便訪問其他地址的,初始化成null可以讓你在除錯的時候,清晰的看出來你是否曾經對它賦值

10樓:匿名使用者

把指標置空,避免出現問題

c語言中null是什麼意思?

11樓:匿名使用者

是空指標,指

復向地址為

制0的記憶體,在用法上,常用來表bai示不存在,例:duif((fp=fopen("stu","rb"))==null)

exit(0);

解析:如果開啟的這zhi個名為stu的檔案不存在dao,就退出程式;

詳細說明c語言中null的具體用法及舉例

12樓:

c語言區分大小寫。null 也許是 null 也許不是。

null 是 巨集。

#ifndef null

#ifdef __cplusplus

#define null 0

#else

#define null ((void *)0)#endif

#endif

c++ null 就是 0

c null 是 ((void *)0)指標初始化,可以給 null,例如 int *x = null;

函式呼叫時,指標實參可以填null;函式送返值為指標時,判斷是否成功,例如:

file * pfile;

pfile = fopen ("myfile.txt" , "r");

if (pfile == null) printf("open error");

c語言裡null是空值的意思麼?那賦一個空值有什麼用?

13樓:蒼老師的戀愛

如果宣告一個指標變數,但你又暫時不知道為什麼值時,如果不初始化為null,

那麼它指向一個未知的地址,

如果對其指向的變數進行操作的話可能造成 段錯誤 或者對不該操作的的變數執行了操作,

這就是所謂的野指標

14樓:匿名使用者

null 只是一個巨集定義,用於標識空值或者0(c裡面的話其實就是等於0),在**中一般用來檢查某些值是否等同 0。用一個常量來儲存一個固定值然後在**中使用這個常量或者巨集而不是含義不明的數值是良好的變成習慣。會大大提高**的可讀性和可維護性。

15樓:匿名使用者

null的定義如下

#define null 0

所以它代表0,用於初始化

16樓:衡陽仲孫娜蘭

null在32位作業系統的記憶體中的表現就是0x00000000

0000

0000

0000

0000

0000

0000,即32位都為0,其值其實為0

所以,有

inti=0;

//讓i為null

charc=

'\0';

//'\0'在記憶體中的表現也為一串0,等價與0和null

C語言中的NULL零的是什麼,C語言中NULL是什麼意思

每個位元組在 復c語言裡都是一個char,字元制串是連續的bai序列的位元組來表示du的。按照這種 zhi定義,為了避dao 免在表示字串的時候是無休止地連續下去的位元組序列,需要用一個特殊的標記來表示字串的結束。而這個標記就是null.而作為人類可閱讀的字串,我們不需要這個null,所以在寫 類可...

c語言中si有什麼作用,C語言中s i 0 有什麼作用

s i 0 一般為建立一個字串陣列後,判斷字串是否輸入完畢,常用在迴圈或者判斷語句。回 c語言中,字串答 可以賦值給字元指標變數,或者將字串用字元陣列儲存。因為c語言沒有直接對字串提供語法方面的支援。而且c標準庫很多方法處理字串是以空字元結尾為前提的,這個必須要記住。s i 0 用來判斷字元s i ...

c語言中的是什麼作用的啊,C語言中的 是什麼作用的啊

按位異或的意思。就是 不同為1,相同為0 1 1 0 0 1 1 0 0 0 舉個例子 3 5 3 0011 b 5 0101 b 0011 0101 0110 0110的十進位制數是6 所以3 5 6 是按位異或的意思,異或的意思就是相異為真,即0 0 0,1 1 0,1 0 1,0 1 1 比如...