程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言的sizeof和strlen 使用教程

C語言的sizeof和strlen 使用教程

編輯:關於C語言
 

strlen是函數,而sizeof是算符。strlen需要進行一次函數調用,而對於sizeof而言,因為緩沖區已經用已知字符串進行了初始化,起長度是固定的,所以sizeof在編譯時計算緩沖區的長度。

 

因為sizeof()測試的是數組的長度。而strlen測試的是字符串的長度。在定義數組時,字符串後面還有一個結束標志'\0',這個也要算進去!

 

#include <stdio.h>
#include <string.h>

main()
{
char ss[]="string";
printf("%d %d \n",sizeof(ss),strlen(ss));

}

 


 

代碼修改下:

#include <stdio.h>
#include <string.h>

main()
{
char ss[]="string";
ss[0]=0;
ss[1]='\0';
ss[2]='0';
printf("%d %d \n",sizeof(ss),strlen(ss));

}


聲明x的時候x裡面存儲的是"string\0",最後的\0是結束符,所以sizeof(x)就是7。
而\0的asccii碼值為0,strlen(x)是計算到\0位置,strlen(x)也就是0了。
注意:=0和='\0'都是結束。而='0'是真正的給對應位置置為字符0
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved