C言語における文字列の長さ定義
C言語では、文字列長を次のように定義できます。
- 文字配列を用いる:文字の並びを格納するために文字配列を定義し、配列の長さをもって文字の並びの長さを表す。例えば、char str[10]; は10文字格納可能な文字の並びを表す。
- ポインタを使う:文字列をポインタで指し、ポインタが指す文字列の長さを計算して文字列の長さを表現できます。 例えば:char *str = “hello”; strlen()関数を用いて文字列の長さを計算できます。 int len = strlen(str);
- 動的メモリの割り当てを使用する: malloc()関数はメモリの動的割り当てに使用することができ、動的に割り当てられたメモリの領域に文字列を格納し、ポインタを使用して文字列の長さを表すことができます。例:char *str = (char *)malloc(10*sizeof(char)); strlen()関数は文字列の長さを計算するために使用できます。つまり、int len = strlen(str); です。
- C 言語では、標準入出力バッファのサイズを表す事前定義定数 BUFSIZ が提供されており、文字列の最大長として使用できます。例えば、char str[BUFSIZ]; は、標準入出力バッファの大きさ文字列を格納できることを示します。
なお、C言語においては文字列の長さには末尾のNULLが含まれません。そのため、文字列の全体の長さを表示させるには文字列の長さ+1が必要です。