Cでは、文字列の配列を宣言して使用/操作するにはどうすればよいですか?例えば文字列の実装
、それはどのように私はこれらの要素にアクセスし、それらを変更することができ
a[1]="Apples";
a[2]="Pineapples are red"
だろうか?
Cでは、文字列の配列を宣言して使用/操作するにはどうすればよいですか?例えば文字列の実装
、それはどのように私はこれらの要素にアクセスし、それらを変更することができ
a[1]="Apples";
a[2]="Pineapples are red"
だろうか?
コードでは、a
は、charへのポインタの配列でなければなりません。あなたは、文字列リテラルへのポインタを割り当てることchar *a[5]
、:
a[1]="Apples";
a[2]="Pineapples are red";
あなたは、例えば、それは別の文字列を指すようにする意味で要素を変更することができますa[1]="another fruit";
。たとえば、printf("%s", a[1])
のような文字列全体にアクセスできます。たとえば、char willBeA_p = a[1][1]
のような1文字にアクセスできます。しかし、あなたの例では文字列リテラルなので、文字列の内容を変更することはできません(文字列リテラルを変更すると未定義の動作が起こります)。したがって、a[1][1]='b'
は許可されません。
次のような文字列の配列を定義することができます char * array_of_strings[100];
を、それらのそれぞれのためにメモリを割り当てるためにmalloc
を使用しています。
array_of_strings[0] = (char *) malloc(100);
array_of_strings[0] = "here is your string";
宣言:data_type array_name [array_size];
例:float mark [5];
インデックスの配列要素にアクセスできます。上記のように配列のマークを宣言したとします。最初の要素はmark [0]、2番目の要素はmark [1]などです。
宣言中に配列を初期化することは可能です。例えば。
int mark [5] = {19、10、8、17、9};
詳細を教えてください。 –