”10.敵を表示させてみよう”での質問です。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
宗一郎

”10.敵を表示させてみよう”での質問です。

#1

投稿記事 by 宗一郎 » 15年前

はじめまして。今回初めて質問させていただきます本庄です。
皆さんこれからどうぞよろしくお願いしますm(..)M

早速の質問ですみませんが、
10.敵を表示させてみよう(以下URL)
http://dixq.net/rp/10.html

抜き出すとここの部分ですが、

//ゲームの初期化
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);//敵データの初期化
}

赤の部分は関数の呼び出しですよね?
この関数の宣言がどこにも見当たらないのですが、どのような処理をして自機と敵を初期化
しているのでしょうか?

よろしくお願いしますm(..)m


へろりくしょん

Re:”10.敵を表示させてみよう”での質問です。

#3

投稿記事 by へろりくしょん » 15年前

memset()関数は標準関数です。
プロトタイプは string.h memory.h で次のように宣言されています。

void *memset(void *buf, int c, size_t size);

buf が指す領域を、c で、size バイト分埋めます。
戻り値は、buf の値です。


件のコードは、それぞれ &ch, enemy を、sizeof(ch_t), sizeof(enemy_t) * ENEMY_MAX分0でクリアしてるのですね。

宗一郎

Re:”10.敵を表示させてみよう”での質問です。

#4

投稿記事 by 宗一郎 » 15年前

標準関数にそういうものがあったんですね。

すみません、その辺はまだほとんど知りませんでした。

シエルさん、へろりさん
わかりやすい回答ありがとうございますm(. .)m

今後はそのあたりを含めて勉強していきたいと思います。

ありがとうございました^^

閉鎖

“C言語何でも質問掲示板” へ戻る