當前位置:首頁 » 編程語言 » c語言指針為空
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言指針為空

發布時間: 2022-01-17 00:20:10

c語言空指針的表示方法

在C語言空指針用NULL表示,NULL宏是定義在標准庫頭文件stddef.h中。宏定義如下:

#undefNULL
#ifdefined(__cplusplus)
#defineNULL0
#else
#defineNULL((void*)0)
#endif

可以看出c++中 NULL為(int)0 , C中NULL為(void*)0。看來C和C++中NULL宏的值略有不同。

⑵ 在C語言中,創建一個指針變數,但是不賦值,是否就是空指針

對於未初始化的變數,編譯器會給它們一個默認值,這個默認值是未知的(也許是NULL,也許是其他的),任何使用未初始化的變數的行為都是有隱患的。

⑶ C語言空指針是怎麼回事

空指針指的就是NULL
也就是0指針
指針的含義 是一個地址。 而0地址是非法地址。對這個地址進行賦值 或者取值 就會出現空指針錯誤

在實際編程中,經常把指針初始化為空指針, 在訪問的時候進行判斷, 如果為空,那麼就是還沒有正確賦值的, 應該避免訪問。

⑷ C語言中的空指針是什麼意思

空指針是就是一個被賦值為0的指針。

對於空指針值,一般的文檔中傾向於用 NULL 表示,而沒有直接說成 0。但是我們應該清楚:對於指針類型來說,返回 NULL 和 返回 0 是完全等價的,因為 NULL 和 0 都表示 null pointer(空指針)。


(4)c語言指針為空擴展閱讀

如果一個 空指針常量 賦給了一個有類型的指針變數,那麼這個指針就叫空指針。它不指向任何的對象或者函數。

例如:如果 p 是一個指針變數。

若進行: p = 0;、p = 0L;、p = '';、p = 3 - 3;、p = 0 * 17; 中的任何一種賦值操作之後(對於 C 來說還可以是 p = (void*)0;)。

p 都成為一個空指針,並且由系統保證空指針不指向任何實際的對象或者函數。 反過來說,任何對象或者函數的地址都不可能是空指針。

指針作為實體,是一個用來保存一個內存地址的計算機語言中的變數。指針一般出現在比較底層的程序設計語言中,如C語言。高層的語言如Java一般避免用指針,而是引用。

指針作為數據類型,可以從一個函數類型、一個對象類型或者一個不完備類型中導出。從中導出的數據類型稱之為被引用類型(referenced type)。指針類型描述了一種對象,其值為對被引用類型的實體的引用。

參考資料來源:網路-空指針常量

⑸ 如何判斷一個字元串指針是否為空(C語言)

#include<stdio.h>
#include<stdlib.h>
void main()
{
char *str = (char*)malloc(sizeof(char)*10); //分配地址空間
gets(str); //輸入
if(str[0]!='') //由於字元串以''結尾,故可以這樣來判斷
{
printf("非空! ");
}
else
printf("空 ");
}

望採納...

⑹ C語言 空指針

int *p;p=&a空指針也分配了空間它裡面是隨機的碼,我認為int *p和int*p=null是一樣的。p=n就是p和n都指向了一個n內的隨機數。

⑺ C語言中指針如何初始化為NULL

ptr=NULL,因為是指針的值是空,而不是指針指向地址存儲的值為空。

⑻ C語言 請問怎麼判斷一個指針是否是空的

不知道變數a是什麼作用。我想可以增加可以增加一個變數length,表示當前數組的長度。比如下面這樣。length的初值賦值為0。

structstru
{
charn[30];
inta;
};
intlength;

這樣你每次插入一個新的元素的時候,就「當前數組的長度加一」。當然默認你的插入元素是從下標'0'開始的,並且是連續的。這樣想找到一個空的位置進行插入時,就可以使用

p[length].n=...;
p[length].a=...;
length++;

這只是我個人的想法,希望對你有所幫助。

⑼ 在c語言的指針使用中,NULL的值是

C語言中NULL是個宏,在stddef.h中定義:

#ifndefNULL
#ifdef__cplusplus//如果是C++則為0
#defineNULL0
#else
#defineNULL((void*)0)//C中為((void*)0)
#endif
#endif

無論是哪個語言,從數值角度上來說,NULL就是0。作為指針類型變數,賦值為NULL時,表示該指針是個空指針。NULL常用來判斷一個指針變數是否為空指針,從而確定程序下一步的操作。如,程序開始,定義一個指針變數並初始化為空,在程序過程中,有可能使用該變數,也可能未使用該變數,則在程序返回前,可以通過判斷其是否為空指針,來進行內存釋放(防止內存泄露)。

voidfunc()
{
char*p=NULL;
....
if(p!=NULL)//當p用malloc成功分配過內存時,其值是個非0值。
free(p);
}

⑽ c語言如何給指針參數賦值為null

樓主 其實很簡單,例如你定義一個int a;
然後把&a的帶入你的函數中,函數的形參為int *p;
在函數中把*p=null,不過最好是用宏定義,把null定位0;
這樣a變數的地址所指向的值就變為0了

你要是有什麼不懂得可以找我