C 中sizeof與strlen的區別

2021-07-02 16:49:50 字數 496 閱讀 7611

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 獲取字串的長度 兩次失足後,我不在做這些無聊的嘗試了,仔細找找問...