配列などの値の変更
Re:配列などの値の変更
単に値を 0 にするなら memset 関数を使えばOKです。
あらかじめその初期値データを用意しておき、 memcpy 関数を使います。
memset(a,0,sizeof(a)); // a は初期化する配列もし、初期値として 0 以外の数値を入れるのであれば、
あらかじめその初期値データを用意しておき、 memcpy 関数を使います。
memcpy(a,b,sizeof(a)); // a は初期値を格納する配列、b は初期値があらかじめ入っている配列こんな感じでしょうか。
Re:配列などの値の変更
> 再びゲーム開始、と言う時にこういう配列にひとつひとつ0を代入していくのは大変ですよね。
そんなに大変なことでしょうか? 大変さの想像がつきません。
ループを所定の回数だけ回しながら初期化すればいいだけのことです。
そんなに大変なことでしょうか? 大変さの想像がつきません。
ループを所定の回数だけ回しながら初期化すればいいだけのことです。
Re:配列などの値の変更
多分わかったと思います。ちなみにmemcpy(a,b,sizeof(a));であって
memcpy(a[n],b[n],sizeof(a[n]));ではないんですね。
memcpy(a[n],b[n],sizeof(a[n]));ではないんですね。
Re:配列などの値の変更
たとえば、
もちろん、 b の値を変更した後でコピーすれば、その値になります。
int b[3] = {0,1,2};とした、b の配列値を初期値とすると、 memcpy (memset では無いですよ)を使用して b からコピーすれば可能です。
もちろん、 b の値を変更した後でコピーすれば、その値になります。