スタック メモリ上の 2D 配列に値を割り当てる方法を教えてください。次のことを試しましたが、うまくいかないようです。もちろん、一度に各値を割り当てることもできますが、一度に値を割り当てることに興味がありました。何か案は?
double phi[2][5];
phi[0] = {1, 0, 2, 1, 0};
phi[1] = {1, 0, 2, 1, 0};
配列を初期化できます:
double phi[2][5] = { {1, 0, 2, 1, 0 },
{1, 0, 2, 1, 0 } };
省略された要素はデフォルトでゼロに設定されるため、以下は同じ結果になることに注意してください。
double phi[2][5] = { {1, 0, 2, 1 },
{1, 0, 2, 1 } };
コンパイラが C99 をサポートしている場合、複合リテラルはオプションになる可能性がありますが、 の型をphi
の配列へのポインタに変更する必要がありますdouble[5]
。例えば:
double (*phi)[5];
phi = (double[][5]) { { 11, 12, 13, 14, 15 },
{ 21, 22, 23, 24, 25 } };
phi = (double[][5]) { { 111, 122, 133, 144, 155 },
{ 211, 222, 233, 244, 255 } };
ただし、個々の次元ではなく、すべての次元を割り当てる必要があります (デモhttp://ideone.com/NxdUOを参照)。
double phi[2][5] = {{1, 0, 2, 1, 0},{1, 0, 2, 1, 0}};