C語言sizeof 與 strlen的比較

2021-05-27 15:14:27 字數 292 閱讀 5339

今天看了個演算法的題目,說是要合併兩個有序陣列,按照有序的方式。

看看以為很簡單的,想當然的就開始敲程式了,但是發現了很多小問題,這些都是基礎啊,突出的是sizeof()的問題。

sizeof() 獲取的是乙個型別的佔據位元組長度,(

strlen 獲取字串的長度 (

兩次失足後,我不在做這些無聊的嘗試了,仔細找找問題。

查詢了定義,開始用

sizeof(array)/sizeof(array[0]);這樣獲得了陣列的長度。

關於sizeof()有很多的,如位元組對齊等。

關於C語言sizeof運算子和strlen 函式

c primer plus總結 1.不同點 sizeof運算子是以位元組為單位返回運算子物件的大小 strlen 函式給出字串中的字元長度 2.相同點 sizeof運算子和strlen 函式返回型別可以用 zd轉換 不識別 zd,嘗試換成 u或者 lu sizeof運算子和strlen 函式返回的實...

c語言中陣列與sizeof

我以前的理解是 陣列名字就是指向陣列首元素的指標,然而用sizeof 運算元組名字,把我又弄得有些疑惑了。查了查資料,終於明白了。原來,陣列名字做形參時才被當作指標。而sizeof 並不是乙個函式,而是乙個單目運算子,所以sizeof 裡寫陣列名字,返回的就是陣列佔了多少位元組。例如 char a ...

C語言 sizeof與strlen的區別

一 sizeof sizeof 是運算子,在標頭檔案中typedef為unsigned int,其值在編譯時即計算好了,引數可以是陣列 指標 型別 物件 函式等。它的功能是 獲得保證能容納實現所建立的最大物件的位元組大小。由於在編譯時計算,因此sizeof不能用來返回動態分配的記憶體空間的大小。實際...