#このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。C 言語で配列を初期化する 3 つの方法: 1. 定義時に、構文 "data type arrayName[index] = {value};" を使用して値を直接代入します; 2. for ループを使用して初期化します。構文 "for (int i=0;i
#C 言語で配列を初期化する 3 つの方法#1. 定義時の直接代入
#
int arr1[3] = {0};
int arr2[3]; for (int i = 0; i <strong></strong>for ループを使用する利点は、各要素を異なる値に設定できることです。 <div class="highlight"></div>3. memset 関数 <p data-pid="TLToidaS"></p><p>memset 関数は次のように宣言されます: <strong></strong>void *memset(void *str, int c, size_t n)</p> <p data-pid="-Iat23qD">str の現在位置の後の n バイト (typedef unsigned int size_t) を c に置き換えて、str を返します。 </p><blockquote data-pid="R3hCkvW4"><pre class="brush:php;toolbar:false">int arr3[3];memset(arr3, 0, sizeof(int) * 3);
memset は通常、メモリ ユニットの初期化 (通常は配列または構造体の初期化、または配列または構造体のクリア) に「0」を使用します。
3 つのメソッドのサンプル コードは次のとおりです。
memset 関数はメモリ ブロックをバイト単位で初期化することに注意してください。したがって、これを使用して int 配列を 0 と -1 以外の値に初期化することはできません。
#memset には -1 または 0 の値が割り当てられ、最終結果は正しいです:
# #ただし、memset を使用すると -1 と 0 以外の値が代入され、最終的な結果は期待値と異なります。たとえば、割り当てが 1 の場合、次の図のようになります。
#memset は各バイトに値を割り当て、int が割り当てられることがわかっているためです。が 4 バイトの場合、memset は値を割り当てます。バイナリの場合、次のようになります。
00000001 00000001 00000001 00000001 = 16843009
[関連する推奨事項:C 言語]ビデオ チュートリアル 、プログラミング教育
]以上がC言語で配列を初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。