C語言空指標NULL - C語言零基礎入門教程_其它 - 程式人生

文章推薦指數: 80 %
投票人數:10人

目錄一.指標簡介二.空指標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



請為這篇文章評分?