C语言的sizeof和strlen
生活随笔
收集整理的這篇文章主要介紹了
C语言的sizeof和strlen
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
strlen是函數(shù),而sizeof是算符。strlen需要進(jìn)行一次函數(shù)調(diào)用,而對于sizeof而言,因?yàn)榫彌_區(qū)已經(jīng)用已知字符串進(jìn)行了初始化,起長度是固定的,所以sizeof在編譯時計(jì)算緩沖區(qū)的長度。
?
因?yàn)閟izeof()測試的是數(shù)組的長度。而strlen測試的是字符串的長度。在定義數(shù)組時,字符串后面還有一個結(jié)束標(biāo)志'\0',這個也要算進(jìn)去!
?
#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是結(jié)束符,所以sizeof(x)就是7。 而\0的asccii碼值為0,strlen(x)是計(jì)算到\0位置,strlen(x)也就是0了。
總結(jié)
以上是生活随笔為你收集整理的C语言的sizeof和strlen的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有没有好看的国产恐怖片,越刺激越好。蛇的
- 下一篇: 求一个带熊猫的微信网名