對C和C 的一點兒認識

2021-04-16 02:17:16 字數 411 閱讀 9019

今天在程式設計時,遇到一點問題。寫了一段程式,但是在編譯的時候,總報錯,顯示為某個變數沒有定義。

**中有這樣一句話:sockaddr_in addr;

經過試驗,編譯器是提示不認識這個變數sockaddr_in 。開始,我的每一感覺就是沒有包含標頭檔案,但是找來找去,發現標頭檔案沒有問題,於是開始想其它的辦法。後來,在網上找類似的**,發現有這樣一種寫法:struct sockaddr_in addr;我照著試了一下,發現果然那個錯誤沒有了。但是原因是什麼呢?

我試著總結了一下,這可能是c與c++的一點兒區別,在c++中可以自己定義類,定義以後,就可以宣告該型別的物件了,在c中有結構體,但是不能用結構體名直接定義變數(如果擴充套件名為.cpp就可以了,因為這會按照c++的語法來進行編譯)。解決方法是:1.前面加上struct;2. 用typedef定義一下結構體。 

一點兒小結

學習 c primer 看到的,做點兒筆記吧 1 通常,函式不應該有vector或其他標準庫容器型別的形參。呼叫含有普通的非引用vector形參的函式會複製vector的每乙個元素,所以,從避免複製vector的角度出發,應考慮將形參宣告為引用。而實際上,c 程式設計師傾向於通過傳遞指向容器中需要處...

C char 的一點兒理解

理解是就是char 相當於字串陣列,我以往糾結於該用 arr還是 arr還是 arr 還是 arr 對於 arr而言 arr代表陣列的最開頭,也就是第乙個字串的內容。arr代表什麼,不知道,這麼用會報錯。簡單的來說arr 0 代表第乙個字串的值,實際指向的整個 arr的首位址,如果用printf之類...

技術人的一點兒思考

作為乙個技術人,雖然更多的是與機器和 打交道,但仍然也會有不少感觸和思考。安安靜靜的思考,平平淡淡的文字,寫下來,對自己也是一種總結和提公升,如果有幸能讓你看到,那,還真的很有緣。如果能帶給你啟發,就再好不過啦,哪怕只有一點點 別害怕技術焦慮 技術領域的迭代越來越快,新技術目不暇接。新的技術領域 新...