研究では、C言語およびsizeofのstrlen関数との関係は、今日の二つの違いをまとめるために、非常に明確ではないことが見つかりました:
のサイズ
- オペレータは、文字列配列のサイズの計算に(\ 0)を含む、バイトの数を計算するために使用されます
- コンパイル時にサイズを算出し、パラメータがそうでアレイ、ポインタ、タイプ、オブジェクト、関数、とすることができます。
strlen関数
- テスト文字列の長さのための機能が含まれていませんされて(\ 0)
- サイズは、実行時に計算され、パラメータが文字ポインタです。
#include <stdio.h>
int main(void)
{
int size1, size2;
char a[] = "hello";
size1 = sizeof(a);
size2 = strlen(a);
printf("%d %d", size1, size2);
return 0;
}
一般的には、配列のsizeofで使用されます
結果: