C语言的sizeof和strlen
生活随笔
收集整理的這篇文章主要介紹了
C语言的sizeof和strlen
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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了。
總結
以上是生活随笔為你收集整理的C语言的sizeof和strlen的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有没有好看的国产恐怖片,越刺激越好。蛇的
- 下一篇: C语言memset函数详解(Linux下