C 指標常識的小結

2021-07-22 07:50:27 字數 640 閱讀 5035

【常見錯誤】

指標未初始化,就進行取值操作;

對乙個null指標取值;

傳參~引數為null指正;

指標表示式的錯誤,++ 或者 --等越界,

對乙個指標進行減法運算,非法地指向了陣列的第乙個元素前面的記憶體位置

【為什麼c語言中沒有一種方法來宣告字面值指標常量呢?】

這個問題需要分兩種情況討論,

1、一般情況

對於全域性變數,在編譯的時候由編譯器給他們分配記憶體空間。

對於自動變數,是在函式的呼叫時,在呼叫棧上分配空間的。

堆變數,必須通過malloc,calloc,realloc這樣的函式分配。

也就是說在上面三種情況下,我們要訪問乙個記憶體位址,只能通過變數符號來訪問,你無法通過乙個常量位址去訪問乙個變數。比如,我們無法通過類似0xff123456這個位址訪問乙個變數,因為程式設計師無法知道這塊位址到底是分配給哪個變數的。

2、特殊情況

對於一些做驅動的程式設計師來說,比如要訪問乙個外設,那麼這些外設的位址通常是固定的,這時候我們可以通過把整數強制轉換為指標型別的方法達到目的。例如,如果我們外設的位址是100,那麼我們就可以通過

int *pio = (int *)100;int r = *pio;這樣的語句來實現。

不斷更新中...

c 指標小結

宣告指向特定型別的指標,使用以下格式 typename pointername 示例 double pn 宣告乙個double型別的指標 char pc 宣告乙個char型別的指標應將記憶體位址賦值給指標,對變數名應用 運算子,來獲得變數位址,或使用new運算子返回未命名的記憶體位址。示例 doub...

C指標小結1

c指標小結1 我認為c語言的核心就是指標和對記憶體的操作,而操作記憶體就是由指標實現的,所以說指標真的非常非常重要,在後邊的資料結構的學習中更要用指標,如果你立志要走c系統的開發這條路,那麼你就應當精通指標的各種應用。下面寫一點博主在學習指標時的一點小心得,小體會 僅僅一家之言 在剛學習指標時是真的...

C指標小結3

c指標小結3 現在總結指標的更高一級的用法,其中指向函式的指標在我的博文中已經單獨介紹過了,將會補充介紹幾點,現在介紹別的指標的用法。首先介紹幾個陷阱 int f int f 這兩個宣告都是非法的,如果有人問這兩個宣告什麼意思,我們應當不加思索的說出這是錯誤地宣告,博主就曾經苦苦思考過這兩個宣告的意...