logo

C の文字列配列

C プログラミングでは、文字列は文字の 1 次元配列であり、文字の配列として定義されます。ただし、C の文字列の配列は文字型の 2 次元配列です。各文字列はヌル文字 ( ) で終了します。 2次元配列の応用です。

構文:



Cの静的
char variable_name[r] = {list of string};>

ここ、

    var_name は、C の変数の名前です。r は、文字列配列に格納できる文字列値の最大数です。 c は、各文字列配列に格納できる文字値の最大数です。

例:

C








// C Program to print Array> // of strings> #include> // Driver code> int> main()> {> >char> arr[3][10] = {>'Geek'>,> >'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are: '>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s '>, arr[i]);> >}> >return> 0;> }>

>

>

出力

String array Elements are: Geek Geeks Geekfor>

以下は上記のプログラムの表現です

コレクション ジャワ
文字列配列のメモリ表現

文字列の配列には 3 行 10 列が指定されていますが、文字列の配列のサイズを事前に指定しているため、スペースの消費量が多くなります。したがって、プログラムでの大量のスペース消費を避けるために、C でポインターの配列を使用できます。

文字列配列での無効な操作

C では、値を直接変更したり、文字列の配列に代入したりすることはできません。

例:

 char arr[3][10] = {'Geek', 'Geeks', 'Geekfor'};>

ここで、arr[0] = GFG; // これにより、配列型の式への代入を示すエラーが発生します。

値を変更するには、C の strcpy() 関数を使用します。

PCを速くするものは何ですか
 strcpy(arr[0],'GFG'); // This will copy the value to the arr[0].>

文字列のポインタの配列

C では、ポインターの配列を使用できます。 2 次元の文字配列の代わりに、ポインタの 1 次元配列を使用できます。ここには文字列リテラルの最初の文字へのポインタが格納されます。

構文:

char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
文字列のポインタの配列

以下は、ポインターの配列を出力する C プログラムです。

C

ダブルJavaとは何ですか




// C Program to print Array> // of Pointers> #include> // Driver code> int> main()> {> >char> *arr[] = {>'Geek'>,>'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are: '>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s '>, arr[i]);> >}> >return> 0;> }>

>

>

出力

String array Elements are: Geek Geeks Geekfor>