C語言常用函式筆記

2022-03-08 18:20:48 字數 1082 閱讀 7143

strcmp 比較字串;

sscanf 讀取格式化的字串中的資料;

memset 初始化記憶體的「萬能函式」,通常為新申請的記憶體進行初始化工作。對一段記憶體空間全部設定為某個字元,一般用在對定義的字串進行初始化為『 』或『/0』;

snprintf 按照format的格式格式化為字串,然後再將其拷貝至str中。最多從源串中拷貝n-1個字元到目標串中,然後再在後面加乙個0。所以如果目標串的大小為n 的話,將不會溢位。函式返回值:若成功則返回欲寫入的字串長度,若出錯則返回負值。sprintf不能檢查目標字串的長度,可能造成眾多安全問題,所以都會推薦使用snprintf;

strlen 用來計算指定字串 str 的長度,但不包括結束字元(即 null 字元);

sizeof 是乙個單目運算子,而不是乙個函式。與函式 strlen 不同,它的引數可以是陣列、指標、型別、物件、函式等。對 sizeof 而言,因為緩衝區已經用已知字串進行了初始化,其長度是固定的,所以 sizeof 在編譯時計算緩衝區的長度。也正是由於在編譯時計算,因此 sizeof 不能用來返回動態分配的記憶體空間的大小;

malloc 分配所需的記憶體空間,並返回乙個指向它的指標;

vsnprintf 屬於可變引數。用於向字串中列印資料、資料格式使用者自定義。

memcpy:記憶體拷貝函式,從儲存區 a 複製 n 個位元組到儲存區 b,返回乙個指向目標儲存區b的指標。

strlen(char*):函式求是字串的實際長度,它可以用來獲取動態實際字元陣列的長度,是從開始到遇到第乙個「\0」,如果只是定義沒有賦予初始值,這個結果是不確定的,它會從陣列的首位址開始一直找下去,直到遇到「\0」停止查詢。

sizeof():求所佔總空間的位元組數,靜態的,跟初始狀態字元陣列的大小有關係,大小等於初始時字元陣列的大小或者等於初始時字元陣列的大小+1。在c++中,如果定義的是字串陣列的話,那麼如果想獲取陣列的長度,只能用sizeof(陣列名),而不能用strlen(str)。

bzero:置位元組字串s的前n個位元組為零。

calloc()分配所需的記憶體空間,並返回乙個指向它的指標。malloc 和 calloc 之間的不同點是,malloc 不會設定記憶體為零,而 calloc 會設定分配的記憶體為零。

C語言常用函式 筆試常用

在公司筆試時經常需要呼叫或者實現c語言中的一些函式。主要包括 1 字串處理函式。2 記憶體操作函式。字串處理函式 size t strlen const char s 功能 計算指定指定字串s的長度,不包含字串結束符 0 引數 返回值 字串s的長度,size t為unsigned int型別 cha...

C語言scanf函式筆記

1.變數的記憶體分析 1 位元組和位址 記憶體以 位元組 為單位 1gb 1024mb 1024 1024kb 1024 1024 1024b 每個位元組都有自己的位址 資料越大,佔位元組數越多 在64位編譯器中,基本資料型別所佔位元組數 char 乙個位元組 int 四個位元組 float 四個位...

C 函式 筆記

內聯函式只適用於小函式,使用內聯函式需要注意以下幾點 內聯函式中不能含有任何迴圈語句以及switch和goto語句 內聯函式的宣告必須出現在內聯函式第一次被呼叫之前 內聯函式中不能說明陣列 遞迴函式不能定義為內聯函式 函式過載 函式引數個數或型別不同,可以構成過載函式 生命期 是指乙個識別符號從被建...