1.
strlen
是函式,strlen(char*)
函式求的是字串的實際長度,直到遇到第乙個
'\0'
,然後就返回計數值,且不包括
'\0'
,函式的返回值值在執行時確定。
引數是指標或字元陣列,當陣列名作為引數傳入時,實際上陣列就退化成指標了。
2. sizeof
是操作符,不是函式,返回的是變數
宣告後所佔的記憶體數,不是實際長度。其值在編譯時即計算好了,引數可以是陣列、指標、型別、物件、函式等。當計算陣列的size時,陣列不會退化成指標。
舉例說明如下:
#include #include using namespace std;
int main()
{ char arr[20]="hello world!";
cout<
sizeof與strlen的比較(C )
本文主要介紹在c 語言中,sizeof 與 strlen 兩種用法的比較。下面通過 示例,更清晰地比較 sizeof 與 strlen 的用法和作用。示例 sizeof and strlen test1.cpp 如下 include include include using namespace s...
C 中sizeof操作符與strlen函式
sizeof是乙個操作符,返回一條表示式或乙個型別名字所佔的位元組數。返回值乙個常量表示式,型別為size t。size t sizeof type size t sizeof expr 在sizeof的運算物件中解引用乙個無效指標仍然是一種安全的行為,因為指標實際上並沒有被真正使用,sizeof並...
C語言sizeof 與 strlen的比較
今天看了個演算法的題目,說是要合併兩個有序陣列,按照有序的方式。看看以為很簡單的,想當然的就開始敲程式了,但是發現了很多小問題,這些都是基礎啊,突出的是sizeof 的問題。sizeof 獲取的是乙個型別的佔據位元組長度,strlen 獲取字串的長度 兩次失足後,我不在做這些無聊的嘗試了,仔細找找問...