C言語では、文字列を配列に格納する方法は何ですか。

C言語では、文字列は文字配列に格納することができます。一般的な方法は2つあります。

  1. 文字配列を使用して文字列を初期化します。
char str[] = "Hello, World!";

この方法では、コンパイラは文字配列に整数の文字列全体を格納するために十分なメモリを自動的に割り当て、末尾に文字 ‘ \ 0 ‘ を追加して文字列の終了を示します。

  1. 文字配列を使用して、文字列を1つずつ割り当てます。
char str[14];  // 需要预先定义足够的内存来存储字符串(包括末尾的空字符 '\0')
str[0] = 'H';
str[1] = 'e';
str[2] = 'l';
str[3] = 'l';
str[4] = 'o';
str[5] = ',';
str[6] = ' ';
str[7] = 'W';
str[8] = 'o';
str[9] = 'r';
str[10] = 'l';
str[11] = 'd';
str[12] = '!';
str[13] = '\0';

この方法では、事前に十分な文字配列の長さを定義し、個々の配列要素に値を割り当て、最後に文字列の終わりを示すために手動で空の文字 ‘ \0 ‘ を追加する必要があります。

どの方法を使っても、文字配列の長さが十分であることを確認する必要があります。これには文字列全体(末尾のNULL文字を含む)を格納できるだけの長さが必要です。文字配列の長さが不十分だと、文字列が切り捨てられたり、メモリオーバーフローなどの問題が発生する可能性があります。

bannerAds