sizeof
和strlen
是C語言中兩個不同的操作符,它們的主要區別在于用途和功能:
sizeof
是一個運算符,用于計算數據類型或對象所占用的內存大小(以字節為單位)。sizeof
的結果是一個無符號整數。例如,sizeof(int)
將返回int
類型在當前系統和編譯器下所占的字節數。#include <stdio.h>
int main() {
printf("Size of int: %zu bytes\n", sizeof(int));
return 0;
}
strlen
是一個函數,用于計算字符串的長度(不包括空字符\0
)。strlen
的返回值是一個無符號整數,表示字符串中字符的數量。例如,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;
}
總結一下,sizeof
用于計算數據類型或對象的大小,而strlen
用于計算字符串的長度。需要注意的是,sizeof
是針對變量或數據類型的,而strlen
是針對字符串的。