HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1114
リッシュ#defineについて5解決


リッシュ

リンク

2010/11/14(Sun) 00:18:23|NO.35796

今HSPを勉強しているのですが#defineの意味がよくわかりません。
本を見ても書いておらずF1でヘルプを見ても何を言っているかさっぱりで困っています。
どなたかわかりやすく教えていただけないでしょうか・・・



この記事に返信する


f3d

リンク

2010/11/14(Sun) 00:44:12|NO.35797

いちいち書くのが面倒だったり、
スクリプトを見やすくするために使います。

#define abc "半径は5"
#define 円周率 3.141516146787164846416465416498418789

mes abc
kotae = 5 * 5 * 円周率



mes "半径は5"
kotae = 5 * 5 * 3.1415161464846416465416498418789




というような感じです。



リッシュ

リンク

2010/11/14(Sun) 01:29:57|NO.35799

解答ありがとうごさいます

書いて頂いたのを見たところ
x=1
のように変数xに数字を入れるのと同じように感じるのですが、
処理が楽だったりするのでしょうか?



f3d

リンク

2010/11/14(Sun) 01:38:09|NO.35800

x = 1
のようにしてもできますが、
x = 1だとメモリを余分に消費したり処理がわずかに遅くなるので、
#defineを使います。

数字が変わるときは変数で、
ずっと変わらないときは#defineを使いましょう。

#defineはプログラミングをしてくんだったら、
知っておいたほうがいい命令なんで、いろいろ試してみましょう。



リッシュ

リンク

2010/11/14(Sun) 02:18:42|NO.35802

納得できました、わかりやすく説明していただいてありがとうございます!



ANTARES

リンク

2010/11/15(Mon) 00:30:45|NO.35840

>x = 1だとメモリを余分に消費したり処理がわずかに遅くなるので、
>#defineを使います。
 定義についてはその通りですが、実際に使われる場面を考慮すると
必ずしもそうは言えません。
特に複数箇所で使われる文字列のメモリ消費量については、
変数を使う方が有利になります。

 思わぬところで内容が変えられている可能性があるため、
グローバル変数はgotoと同様、プログラムを読みにくくする
元凶とされます。
したがって、定数については、絶対に変わらないことが保証される
#defineを使うことが推奨されます。

 引数を伴う場合など、変数では代用できない使い方もあります。



ONION software Copyright 1997-2023(c) All rights reserved.