ページ 11

12章

Posted: 2010年8月02日(月) 00:24
by AMU
龍神録プログラミングの館12章についてなんですけど、
//ゲームの初期化
void ini(){
stage_count=1;
memset(&ch,0,sizeof(ch_t));//自機データの初期化
ch.x=FIELD_MAX_X/2;
ch.y=FIELD_MAX_Y*3/4;
memset(enemy,0,sizeof(enemy_t)*ENEMY_MAX);//敵データの初期化
}

この部分がよくわかりません。
memsetを調べてみたんですがstring.hが必要なのにGV.hにもどこにも書かれていません。
DXライブラリにmemsetは用意されているのですか?

sizeof は調べてみましたが理解しづらかったです。

短い期間になんどもすみません。

Re:12章

Posted: 2010年8月02日(月) 09:44
by ookami
疑問点は、「memsetはどこで宣言されているか?」でいいのでしょうか??

私の環境では、
string.h に
void * __cdecl memset(__out_bcount_full_opt(_Size) void * _Dst, __in int _Val, __in size_t _Size);
のように宣言されています。

dxlib.hの中に、
#include <windows.h>
とありますから、
たしか windows.h の中で #include <string.h> していたと思います。

sizeof は、型のサイズを返す演算子です。

Re:12章

Posted: 2010年8月02日(月) 10:27
by AMU
DxLib.hを見てみたらwindows.hが見つかりました。ありがとうございます。
もう一つ質問ですが
memset(&ch,0,sizeof(ch_t));//自機データの初期化
の&chとはなんなのでしょうか

Re:12章

Posted: 2010年8月02日(月) 10:39
by toyo
memsetの第1引数の型は void* でポインタ型です
chが何型かは不明ですが & を付けることでポインタ型となります