sizeof
和strlen
是C語言中兩個不同的操作符,它們的主要區(qū)別在于用途和功能:
sizeof
是一個運算符,用于計算數(shù)據(jù)類型或?qū)ο笏加玫膬?nèi)存大?。ㄒ宰止?jié)為單位)。sizeof
的結(jié)果是一個無符號整數(shù)。例如,sizeof(int)
將返回int
類型在當(dāng)前系統(tǒng)和編譯器下所占的字節(jié)數(shù)。#include <stdio.h>
int main() {
printf("Size of int: %zu bytes\n", sizeof(int));
return 0;
}
strlen
是一個函數(shù),用于計算字符串的長度(不包括空字符\0
)。strlen
的返回值是一個無符號整數(shù),表示字符串中字符的數(shù)量。例如,strlen("hello")
將返回5,因為字符串"hello"包含5個字符。#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello";
printf("Length of string: %zu\n", strlen(str));
return 0;
}
總結(jié)一下,sizeof
用于計算數(shù)據(jù)類型或?qū)ο蟮拇笮?,?code>strlen用于計算字符串的長度。需要注意的是,sizeof
是針對變量或數(shù)據(jù)類型的,而strlen
是針對字符串的。