ホームページ  >  記事  >  バックエンド開発  >  C言語で配列を初期化する方法

C言語で配列を初期化する方法

青灯夜游
青灯夜游オリジナル
2023-01-04 15:36:2623454ブラウズ

C 言語で配列を初期化する 3 つの方法: 1. 定義時に、構文 "data type arrayName[index] = {value};" を使用して値を直接代入します; 2. for ループを使用して初期化します。構文 "for (int i=0;i

C言語で配列を初期化する方法

#このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。

#C 言語で配列を初期化する 3 つの方法#1. 定義時の直接代入

#

int arr1[3] = {0};
{0} を使用するのが最も簡潔な方法であり、通常は定義時に使用されます。
2. For ループの初期化

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」を使用します。

通常、char、int、float、double などの型の変数は直接初期化できますが、memset を使用すると面倒になります。

3 つのメソッドのサンプル コードは次のとおりです。

memset 関数はメモリ ブロックをバイト単位で初期化することに注意してください。したがって、これを使用して int 配列を 0 と -1 以外の値に初期化することはできません。 C言語で配列を初期化する方法

#memset には -1 または 0 の値が割り当てられ、最終結果は正しいです:

C言語で配列を初期化する方法# #ただし、me​​mset を使用すると -1 と 0 以外の値が代入され、最終的な結果は期待値と異なります。たとえば、割り当てが 1 の場合、次の図のようになります。

C言語で配列を初期化する方法

#memset は各バイトに値を割り当て、int が割り当てられることがわかっているためです。が 4 バイトの場合、memset は値を割り当てます。バイナリの場合、次のようになります。

C言語で配列を初期化する方法00000001 00000001 00000001 00000001 = 16843009

[関連する推奨事項:

C 言語]ビデオ チュートリアル プログラミング教育

]

以上がC言語で配列を初期化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。