c語言中指針的指針會等於0嗎

來源:趣味百科館 4.77K

c語言中指針的指針會等於0嗎的答案是:會

c語言中指針的指針會等於0嗎

C語言本身並沒有限制説指針變量不能為0,有限制的一般是平台(比如操作系統),如果平台沒有限制、任何地址都可以讀寫。

操作系統下、指針通常不會允許為0,因為0地址是不開放給用户程序操作的,如果用户程序操作了0地址(及其他受保護的地址),操作系統就會給出一個異常。而在沒用操作系統的時候,我們的程序就自由了。在單片機開發中,我們常常不使用操作系統,指針可以為0、也可以填寫0地址。

數據在內存中的地址也稱為指針,如果一個變量存儲了一份數據的指針,我們就稱它為指針變量。

在C語言中,允許用一個變量來存放指針,這種變量稱為指針變量。指針變量的值就是某份數據的地址,這樣的一份數據可以是數組、字符串、函數,也可以是另外的一個普通變量或指針變量。

現在假設有一個 char 類型的變量 c,它存儲了字符 'K'(ASCII碼為十進制數 75),並佔用了地址為 0x11A 的內存(地址通常用十六進制表示)。另外有一個指針變量 p,它的值為 0x11A,正好等於變量 c 的地址,這種情況我們就稱 p 指向了 c,或者説 p 是指向變量 c 的指針。

數組(Array)就是一些列具有相同類型的數據的集合,這些數據在內存中依次挨着存放,彼此之間沒有縫隙。數組不是C語言的專利,Java、C++、C#、JavaScript、PHP 等其他編程語言也有數組。

C語言數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字符數組、指針數組、結構數組等各種類別。

函數就是一段封裝好的,可以重複使用的代碼,它使得我們的程序更加模塊化,不需要編寫大量重複的代碼。

函數可以提前保存起來,並給它起一個獨一無二的名字,只要知道它的名字就能使用這段代碼。函數還可以接收數據,並根據數據的不同做出不同的操作,最後再把處理結果反饋給我們。

熱門標籤