C語言中宣告指標的時候注意點

2021-10-06 17:41:06 字數 502 閱讀 3398

c語言中宣告指標的時候最好指定指標初始值,這樣的習慣可以避免指標洩漏錯誤;如下例子

#include

include

struct in_addr

;struct in_addr *ipaddr;

intmain()

這裡報錯記憶體洩漏, 問題在於只是定義了乙個指標,並沒有定義乙個struct in_addr結構;應該改為

struct in_addr *ipaddr =

malloc

(sizeof

(struct in_addr)

);

但是此時會出現錯誤「initializer element is not constant」,這是因為c語言初始化乙個全域性變數或是static變數的時候,只能使用常量賦值,不能使用變數賦值。動態記憶體分配得到的指標也不能賦值給全域性變數或是static變數;應該將ipaddr指標變數定義在函式內部;

C語言中指標的幾點注意

最近在看 c語言深度剖析 發現裡面的東西還是挺有用的,特別是以前腦海中c語言中一些不清晰的部分作者都一一指出了,對與深入學習c和找工作方面都有幫助。今天要記錄一些指標方面的東西,包括陣列名和陣列名的位址,指標陣列和陣列指標,函式指標的用法。首先看一段 include int main printf ...

C語言中memcpy用法的注意點

程式設計使用memcpy a,b,num 出現斷言,後研究發現memecpy 函式在使用時要求a,b引數不為null,後進行修改,問題解決。1.判斷輸入指標是否為null。長度可判可不判,因為長度如果 0,後面 也能處理 2.考慮記憶體是否重疊問題。記憶體是否重疊問題,即當dst是src的後半部分時...

C語言指標使用的注意點

第一題 main 執行結果是什麼?第二題 void fun char str1,char str2 main 程式執行結果是 第三題 main short par ar 1 inti for i 0 i 10 i 程式執行結果是 第四題 main p q ar p printf 5d p q pri...