sizeof()與strlen()的區別


     首先需要說明的是sizeof和strlen都可以求長度,但是卻有很大的區別,簡單來說可以概括為以下幾點:

     1、sizeof是一個關鍵字,而strlen確實一個函數。

     2、sizeof求的是字節長度,而strlen求的卻是實際長度。

        比如int a=1;sizeof(a)==4而strlen(a)=1

     3、sizeof求的是分配過來的長度,而strlen求的卻是實際使用的長度。

       比如:char a[30]="abcd";

       sizeof(a)=30;而strlen(a)=4;

     4、strlen求的長度是以'\0'結束的。

       比如char a[30];strlen(a)的結果是不定的,而sizeof(a)=30;

        同理:char a[30]={'a','b','c'};對於strlen來說也是不定的,而sizeof卻是30.

     以上四點便是sizeof和strlen的簡要區別,給自己提個醒,也給別人提個醒。

      另外@小知了了指出,sizeof是在編譯是計算的,而strlen是在運行是計算的。

 

 

     版權所有,歡迎轉載,但是轉載請注明出處:瀟一

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM