2016-11-25 17 views
0

もし私がchar arr[10][2]を持っていれば;cで文字列配列を初期化するにはどうすればよいですか?

どのように初期化できますか?どのように多くの方法とどちらが最善の方法ですか?

char arr[10][2] = {""};これは正しいですか?あなたが別の何かにそれらを初期化する必要がある場合、あなたは明らかに、これらの値を使用する必要があります

char arr[10][2] = {0}; 

:空の文字列、使用するすべての文字列を初期化するために

+0

すべての要素を「0」または特定の値に初期化しますか? – mch

+0

http://stackoverflow.com/questions/201101/how-to-initialize-all-members-of-an-array-to-the-same-valueを参照することができます – hbagdi

答えて

2

は、文字配列がC.で初期化することができますどのようにあなたは、配列の任意の要素のために示した初期化の任意の組み合わせを使用することのいくつかの例である

#include <stdio.h> 

int main(void) 
{ 
    char arr1[10][2] = { "A" }; 
    char arr2[10][2] = { { "A" } }; 
    char arr3[10][2] = { { "AB" } }; 
    char arr4[10][2] = { { 'A', '\0' } }; 
    char arr5[10][2] = { { 'A', 'B' } }; 
    char arr6[10][2] = { [0] = "A" }; 
    char arr7[10][2] = { [0] = "AB" }; 
    char arr8[10][2] = { [0] = { "AB" } }; 
    char arr9[10][2] = { [0] = { [0] = 'A', [1] = '\0' } }; 
    char arr10[10][2] = { [0] = { [0] = 'A', [1] = 'B' } }; 


    // to avoid diagnostic messages of unused variables 
    (void)arr1; 
    (void)arr2; 
    (void)arr3; 
    (void)arr4; 
    (void)arr5; 
    (void)arr6; 
    (void)arr7; 
    (void)arr8; 
    (void)arr9; 
    (void)arr10; 

    return 0; 
} 

また、あなたはあなたがないかもしれませんこれらの

char arr1[10][2] = { "" }; 
    char arr1[10][2] = { '\0' }; 

のような初期化を使用することができますCでこのような初期化を使用してください。

char arr1[10][2] = {}; 

これはC++で許可されています。

2

。次のように

0

あなたはそれを初期化することができます:

ここ
char arr[10][2] = { 
    {"H"}, 
    {"A"}, 
    {"C"}, 
    .... 
    //and so on at most 10 
}; 
関連する問題