C語言常見問題

2021-10-02 21:57:13 字數 1339 閱讀 9691

在c語言中,有乙個「流」的概念;流可以分為兩種型別:文字流(檔案)和二進位製流(檔案);文字流是解釋性的,最長可達255個字元;二進位製流是非解釋性的,一次處理乙個字元。

在用c語言程式設計的時候,我們都是用#include指令包含型別為".h"的檔案,那麼可以用該指令包含型別不為".h"的檔案嗎?答案是:可以。我也是剛才看到這個的。

在c語言中,我們經常使用巨集;那麼程式設計的時候,是使用巨集更好,還是使用函式更好?一般來說,應該用巨集去替換小的、可重複的**段,這樣可以使得程式得執行速度更快;當任務比較複雜,需要多行**才能實現時,或要求程式越小越好時,就應該使用函式。

串拷貝(strcpy)和記憶體拷貝(memcpy)有什麼不同?strcpy()函式只能拷貝字串,而memcpy()函式可以拷貝任意型別的資料。在c語言中,可以用itoa()函式將整數轉換為字串,用atoi()函式將字串轉換為整數。

在指標運算中,我們要區分「空指標」和「void指標」:空指標的值是null,它並不指向任何物件;而void指標一般被稱為通用指標或泛指針,它指向某個物件,但該物件不屬於任何型別。

在什麼時候使用「空指標」?1)用空指標終止對遞迴資料結構的間接引用;2)用空指標作函式呼叫失敗時的返回值;3)用空指標作警戒值;在什麼時候使用void指標?當進行純粹的記憶體操作時,或者傳遞乙個指向未定型別的指標時,可以使用void指標。

null總是被定義為0嗎?null不是被定義為0,就是被定義為(void*)0,這兩種值幾乎是相同的;null總是等於0嗎?如果指「與0比較的結果為相等」,那麼確實是等於0;如果指「其儲存方式和整型值0相同」,那麼答案是「不」,null並不必須被存為乙個整型值0。

用指標作if語句的條件表示式意味著什麼?當把乙個指標作為條件表示式時,所要判斷的條件實際上就是「該指標是否為一空指標」;兩個指標是不能相加的。

在c語言中,用void關鍵字說明的函式是沒有返回值的,並且也沒有必要加入return語句;在有些情況下,乙個函式可能會引起嚴重的錯誤,並且要求立即退出該函式,這時就應該加入乙個return語句,以跳過函式體內還未執行的**。

exit()和return有什麼不同?用exit()函式可以退出程式並將控制權返回給作業系統,而用return語句可以從乙個函式中返回並將控制權返回給呼叫該函式的函式。

陣列的下標總是從0開始嗎?是的;可以使用陣列後面第乙個元素的位址嗎?可以使用陣列後面第乙個元素的位址,但不可以檢視該位址中的值。

array_name和&array_name有什麼不同?前者是指向陣列中第乙個元素的指標,後者是指向整個陣列的指標。

為什麼應該使用標準庫函式而不使用自己編寫函式?標準庫函式有三點好處:準確性、高效性和可移植性。

什麼是「區域性環境(local)」?區域性環境是對特定環境下程式要遵循的特定規則的一種描述,它對程式的國際化很有幫助。

C語言常見問題

1 嵌入式與微控制器的區別 從軟體上,行業裡經常把晶元中不帶mmu memory management unit記憶體管理單元 從而不支援虛擬位址,只能裸奔或執行rtos 實時作業系統,例如ucos 華為liteos rt thread freertos 的system,叫做微控制器 例如stm32...

C語言常見問題 pdf

4.8 我看到了用指標呼叫函式的不同語法形式。到底怎麼回事?最初,乙個函式指標必須用 操作符 和一對額外的括弧 轉換為 乙個 真 正的 函式才能呼叫 int r,func fp func r fp 而函式總是通過指標進行呼叫的,所有 真正的 函式名總是隱式的退化為指 針 在表示式中,正如在初始化時一...

C語言常見問題總結

1.用 注釋 在c語言中不是好辦法,尤其是在注釋的 中原先已經有注釋存在,可能會報錯,更好的辦法是用 if 和 endif 2.如果有一些宣告需要用於幾個不同的原始檔,可以在乙個單獨的檔案編寫這些宣告,然後用 include命令把這個檔案包含到需要使用這些宣告的原始檔中 3.標準的c編譯器不會對陣列...