構造体の管理

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

構造体の管理

#1

投稿記事 by へへへ.png » 14年前

構造体についての質問があるんですけど
前にどこかの掲示板でアイテム情報は攻撃力、防御力のデータなどを構造体にまとめておく
ということを見た記憶があるんですね
私、素人なもんで疑問に思ったことがあるのですが構造体というのは常に記憶させておくと
容量がすごいことになると思うんです 
だからif文で分岐させて、例えばメニュー画面を表示したりもしくはRPGの町のお店にいったりしたときに
構造体を定義してやればいいのではと思ったのです。。。

しかし、私ですね 構造体を上書きして書き換えることはできるんですけども
構造体を消去する?メモリーから消すことができないのです
そのようなやり方であっているのかもわかりませんし、だから教えてください


そして、もう一つ   私、BCC Developerを使っているのですが
コンパイルしたときにエラー表示がされることがありますよね
エラーがでた行も教えてくれるのですがどうも正確ではないのです
なぜなのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 構造体の管理

#2

投稿記事 by softya(ソフト屋) » 14年前

へへへ.png さんが書きました:私、素人なもんで疑問に思ったことがあるのですが構造体というのは常に記憶させておくと
容量がすごいことになると思うんです 
構造体なんて大した容量は食いませんよ。
まぁ、SFCやGBぐらいメモリが少ないと別ですけどね。
へへへ.png さんが書きました:だからif文で分岐させて、例えばメニュー画面を表示したりもしくはRPGの町のお店にいったりしたときに
構造体を定義してやればいいのではと思ったのです。。。
この構造体に入るデータは何処から現れるのでしょうか?
何もない空間から現れるわけはないですよね?
プログラムに含まれているとしたら、起動した段階でメモリに含まれていますのでブロック内や関数内で改めて構造体変数を定義してもメモリは減りませんよ。
へへへ.png さんが書きました: そして、もう一つ   私、BCC Developerを使っているのですが
コンパイルしたときにエラー表示がされることがありますよね
エラーがでた行も教えてくれるのですがどうも正確ではないのです
なぜなのでしょうか?
;の忘れとかだとC言語の文脈上では、次の命令がエラーになることが多いです。それはありませんか?
それなら、他のコンパイラでも同じです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: 構造体の管理

#3

投稿記事 by Dixq (管理人) » 14年前

何か勘違いをされているのではないかと思いますが、

コード:

int a;
int b;

と

struct aa_t{
    int a;
    int b;
};
は同じ大きさですよ。
※注:
http://www.google.co.jp/search?sourceid ... 88&qscrl=1

仮に大規模RPGなどで、アイテム情報が膨大で、メモリに展開すると量が多くなってしまう場合は、都度読み込みになるでしょうが、
最初のうちは、メモリに全部持ちで良いと思いますよ。(1アイテム64バイトだとしても、1万個あっても0.6MBにしかなりませんが)
効率化は、基礎が分かってからで十分良いと思います。

構造体を動的に確保・解放したいなら、malloc、freeを使ってください。
http://www.google.co.jp/search?sourceid ... oc&qscrl=1

でも、最初は、そんなことしない方が良いと思います。
最初のうちは容量なんて気にせずにとにかくゲームの基礎設計を学んでいった方が良いと思います。

> エラーがでた行も教えてくれるのですがどうも正確ではないのです

そのエラーメッセージはどんなものですか?
恐らくそれはBCC Developerじゃなくても同じだと思いますが、コンパイラはVC++もお勧めです。
http://dixq.net/vcpp.html

閉鎖

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