2012-02-14 3 views
0

私は別のメソッドからアクセスできる配列が必要です。main()でこの配列を割り当て、foo()のような他の関数にこの配列へのアクセスを許可しなければなりません。 defining a 2D array with malloc and modifying it
私はこのような配列を定義しています:ファイル/プログラムスコープ内の2D配列

この質問は、配列の割り当てで私を助け char(*array)[100] = malloc((sizeof *array) * 25200); そして私は、私はこの配列アクセスで25200個の文字列を格納することができます
)(メインでこれをやっていますそれらによって、array[1]

この配列にアクセスできるようになりました。どうすればいいですか?

答えて

1

この宣言で:

char (*array)[100] = malloc((sizeof *array) * 25200); 

あなたは機能foo持つことができます。

void foo(char array[][100]) 
{ 
    array[42][31] = 'A'; // you can access characters elements this way 
    strcpy(array[10], "Hello world\n"); // you can copy a string this way 
} 

を、あなたがこの方法fooを呼び出すことができます。

foo(array); 
+0

はたぶん私が持っている追加されている必要がありますメイン()内のmallocへ – Joelmob

+0

@Joelmob何か変わるのですか? – ouah

+0

これはうまくいきますが、foo()にインパラメータを持たなくても可能です。 – Joelmob