C言語での文字列の長さ

String Length C Language



C言語の文字列は、ヌル文字( 0)で終了する文字の配列です。文字列の長さは、文字列の文字数です。文字列の長さ「 0」では、文字はカウントされません。







上記の例では、文字列の長さ NS は6です。



このチュートリアルでは、最初に、の使用方法を示します。 ユーザー定義関数 文字列の長さを計算するために、組み込みのライブラリ関数を示します strlen() 。また、の使用法を示します のサイズ 文字列リテラルの演算子。



ユーザー定義関数を使用した文字列の長さ

文字列の文字数を返すユーザー定義関数を作成できます。





//Example1.c
#含む

intstringLength((char *NS)。
{{
int=0;

その間((NS[] != ' 0')。++;

戻る;
}

int主要(()。
{{
charNS[30]= 'ストリング';

printf (('文字列strの長さは=>%dですNS'stringLength((NS)。)。;

戻る 0;
}

ここでは、whileループを i = 0 遭遇しなくなるまで ‘ 0’ キャラクター。の値 によって増加します 1 whileループの各反復で。ループが終了すると、 文字列の長さです。



組み込みライブラリ関数を使用した文字列の長さ

組み込みライブラリ関数 strlen() 文字列の長さを決定するためにも使用できます。

strlen()関数:

ヘッダーファイル:

ストリング。NS

構文:

size_t strlen ((const char *NS)。

口論: この関数は、charへの型ポインターの引数を取ります。

戻り値: この関数は文字列の長さを返します NS 。ご了承ください size_t 符号なし整数の単なるエイリアスです。

//Example2.c
#含む
#含む

int主要(()。
{{
charstr1[30]=「文字列配列」;
char *str2;
char *str3;

str2=str1;
str3= 「ストリングポインタ」;

printf (('文字列str1の長さは=>%ldですNS' strlen ((str1)。)。;
printf (('文字列str2の長さは=>%ldですNS' strlen ((str2)。)。;
printf (('文字列str3の長さは=>%ldですNS' strlen ((str3)。)。;
printf (('文字列の長さ'文字列リテラル'は=>%ldNS' strlen ((「文字列リテラル」)。)。;

戻る 0;
}

ここでは、文字列配列、文字列ポインタ、文字列リテラルをstrlen関数に渡し、関数は文字列の長さを返します。

sizeof演算子を使用した文字列の長さ

使用することもできます のサイズ 文字列長の演算子(文字列リテラルのみ)。ただし、「 0」文字もカウントされるため、この演算子によって返される値から1を引く必要があります。配列とポインターの場合、sizeof演算子は、それぞれ割り当てられた配列とポインターのサイズを返します。

//Example3.c
#含む

int主要(()。
{{
charstr1[30] = 'ストリング';
char *str2=str1;

printf (('の長さ 'ストリング'は=>%dNS'((のサイズ(('ストリング')。 - 1)。)。;
printf (('str1配列の割り当てサイズは=>%dですNS'のサイズ((str1)。)。;
printf (('str2ポインタのサイズは=>%dですNS'のサイズ((str2)。)。;

戻る 0;
}

ここでは、9行目で、文字列リテラルSTRINGを渡し、「 0」文字を含むサイズを取得します。したがって、1を減算して、文字列の実際のサイズを取得します。

配列をsizeof演算子に渡すと、割り当てられた配列のサイズ(30)が返され、文字ポインターを渡すと、ポインターのサイズが返されます。

結論

したがって、このチュートリアルでは、さまざまな方法で文字列の長さを計算する方法を示しました。コードでは、自分に最も適した方法を使用できます。