C語言空指標NULL - C語言零基礎入門教程_其它 - 程式人生
文章推薦指數: 80 %
目錄一.指標簡介二.空指標NULL 三.關於NULL 和0 四.猜你喜歡零基礎C/C++ 學習路線推薦: C/C++ 學習目錄>> C 語言基礎入門.
程式人生>實用技巧>其它>C語言空指標NULL-C語言零基礎入門教程
C語言空指標NULL-C語言零基礎入門教程
阿新•來源:網路•發佈:2021-08-28
目錄
一.指標簡介
二.空指標NULL
三.關於NULL和0
四.猜你喜歡
零基礎C/C++學習路線推薦:C/C++學習目錄>>C語言基礎入門
一.指標簡介
在前面的文章有關於指標的介紹:指標很靈活,它可以指向任意型別的資料。
指標的型別說明了它所指向地址空間的記憶體,以下是有效的指標宣告:
int*p;/*一個整型的指標*/
double*p;/*一個double型的指標*/
float*p;/*一個浮點型的指標*/
char*p;/*一個字元型的指標*/
注意:不要忘記在指標型別和變數名中間還有一個*號,沒有這個*號,只是定義了一個普通變數,這也是普通變數宣告和指標宣告的區別之一;
二.空指標NULL
在C語言中,如果一個指標不指向任何資料,我們就稱之為空指標,用NULL表示。
例如:
int*p=NULL;
注意區分大小寫,null沒有任何特殊含義,只是一個普通的識別符號。
NULL是一個巨集定義,在stdio.h被定義為:
#defineNULL((void*)0)
我們知道,變數一旦定義就要分配記憶體,指標變數也是如此。
例如:
int*p;//它不是空指標
它的值是隨機的,是垃圾值,如果不小心使用了它,執行時一般會引起段錯誤,導致程式退出,甚至會不知不覺地修改資料。
p經過定義,就一定在記憶體中分配了4個位元組的空間,只是它的值是隨機的,不像int會被初始化為0,但是它確實指向了一段正常使用的記憶體。
使用p時,操作的就是這段記憶體的資料,幸運的話能夠正常執行,不過大部分情況下這段記憶體是無權操作的。
三.關於NULL和0
不要把NULL和0等同起來,下面的寫法也是不專業的:
int*p=0;
正確的書寫:
int*p=NULL;
注意NULL和NUL的區別:NULL表示空指標,是一個巨集定義,可以在程式碼中直接使用。
而NUL表示字元‘\0’,也就是字串結束標誌,它是ASCII碼錶中的第0個字元。
NUL沒有在C語言中定義,僅僅是對‘\0’的稱呼,不能在程式碼中直接使用。
四.猜你喜歡
C語言邏輯運算子
C語言三目運算子
C語言逗號表示式
C語言sizeof和strlen函式區別
C語言strcpy和strcpy_s函式區別
C語言memcpy和memcpy_s區別
C語言陣列定義和使用
C語言陣列遍歷
C語言陣列下標越界
C語言陣列記憶體溢位
C語言陣列下標越界和記憶體溢位區別
C語言二維陣列定義和使用
C語言二維陣列行數和列數計算
C語言指標宣告和定義
C語言指標p++/p–
C語言p++/§++/_(p++)/_p++
C語言使用指標遍歷陣列
C語言指標和陣列區別
C語言陣列指標
C語言指標陣列
C語言指標陣列和陣列指標區別
C語言空指標NULL
未經允許不得轉載:猿說程式設計»C語言空指標NULL
本文由部落格-猿說程式設計猿說程式設計釋出!
GEE影像集合ImageCollection中的統計計算
«上一篇
kali格式化u盤
下一篇»
相關推薦
矩陣、矩陣運算及矩陣加速站在形參的角度資料庫測試需要注意的點【杭州多測師_王sir】【杭州多測師】14.形態學--直方圖11.形態學--膨脹、腐蝕、開閉運算、梯度、頂帽、黑帽安卓(androidstudio)課程設計作業系統通訊錄ORM的增刪改查專題1-按鍵驅動程式設計-第2課-Linux中斷處理
搜尋
熱門文章
矩陣、矩陣運算及矩陣加速
2022-06-26
站在形參的角度
2022-06-26
資料庫測試需要注意的點【杭州多測師_王sir】【杭州多測師】
2022-06-26
ADS
基礎教學
Mysql入門
Sql入門
Android入門
Docker入門
Go語言入門
Ruby程式入門
Python入門
Python進階
Django入門
Python爬蟲入門
ADS
人氣文章
矩陣、矩陣運算及矩陣加速
2022-06-26
站在形參的角度
2022-06-26
資料庫測試需要注意的點【杭州多測師_王sir】【杭州多測師】
2022-06-26
14.形態學--直方圖
2022-06-26
11.形態學--膨脹、腐蝕、開閉運算、梯度、頂帽、黑帽
2022-06-26
安卓(androidstudio)課程設計作業系統通訊錄
2022-06-26
ORM的增刪改查
2022-06-26
專題1-按鍵驅動程式設計-第2課-Linux中斷處理
2022-06-26
12.形態學--輪廓、多邊形逼近與凸包
2022-06-26
ERC20介紹
2022-06-26
熱門標籤
Java基礎資料結構與演算法經驗分享劍指offer其他題解圖論程式人生每日一題安卓微控制器PAT演算法&資料結構PTAPython學習leetcode刷題java學習筆記演算法與資料結構reactjspython基礎
ADS
延伸文章資訊
- 1空指標
空(Null) 指標:其值為0,不是指到記憶體位址0 ,而是沒有指到任何的記憶體。 [dywang@dyw219 zzz]$ vim pointer2.c [dywang@dyw219 zzz]...
- 2空指標- 维基百科,自由的百科全书
此條目介紹的是以各種程式語言為基礎介紹Null Pointer的概念。关于C++11語言標準的關鍵字,请见「nullptr」。 在程式語言中,空指標 ...
- 3C語言野指標與空指標專篇解讀 - IT145.com
1. 指標未初始化:指標變數剛被建立時不會自動成為NULL指標,它的預設值是隨機的,它所指的空間是隨機的。 程式碼 ...
- 4C語言知識彙總| 56-C語言NULL空指標以及void指標 - IT人
NULL 是“零值、等於零”的意思,在C語言中表示空指標。從表面上理解,空指標是不指向任何資料的指標,是無效指標,程式使用它不會產生效果。
- 5如何在C++ 中檢查指標是否為空指標 - Delft Stack
++ cCopy #include <iostream> using std::cout; using std::endl; #define SIZE 123 int main() { char...