
No.2ベストアンサー
- 回答日時:
マクロ定数には型はないですが、プリプロセッサで解釈されるときに
型が問題になります。
X3010(CのJIS規格) §6.1.3.2では「整数定数の型はその値を
表現できる最初(int以上の小さい型から最初)の型とする」となってます。
だから#define A 1と書くと、解釈時にAの型はintになり、
intで表現できない数を書くとlong intになります。
その値を使って計算をすると、結果が異なってくる可能性があります。
(たとえば、long intだと桁あふれのしない計算が、intだとあふれるとか)
その数値がunsigned long intであることが必要ならば、
数値の最後にULをつけることで型を指定できます。
#define A 1UL
No.1
- 回答日時:
#defineで定義するマクロ定数(記号定数)には型はありません。
ソースコードに
#define AA 1
a=AA;
のように書くと、コンパイル時にプリプロセッサで
a=1;
のように置換されるのです。
http://naruzo.cside1.com/html/online/ckouza/ckou …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0での小数点の扱いについて
-
c languageで 簡単な質問があ...
-
ExcelでPC(パソコン)によって...
-
ExcelのINT関数の計算結果がお...
-
浮動小数演算は実行環境の変化...
-
Log関数に関する質問
-
三菱シーケンサ(Aシリーズ)で...
-
”/”を使わずに割り算したいんで...
-
VBAでミリ秒まで出力する方法
-
時刻の比較
-
EXCELの関数"STDEV(標準偏差)"...
-
計算の丸め誤差の解消について
-
O(n log n)について2
-
三角比の俯角の計算
-
Double型について
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
有効数字について 以前質問をし...
-
c languageで 簡単な質問があ...
-
EXCELの関数"STDEV(標準偏差)"...
-
ExcelでPC(パソコン)によって...
-
三菱シーケンサ(Aシリーズ)で...
-
floatの有効桁数
-
255の2の補数、B'00000001'が-...
-
O(n log n)について2
-
符号誤り率の計算は例題でどの...
-
CRCの計算方法について
-
VB.net Double と...
-
コンピューターは指数関数をど...
-
16進数 加算 減算 C言語
-
ExcelのINT関数の計算結果がお...
-
C言語でセルオートマトンを作成...
-
BCD・HEX・BINについて
-
”/”を使わずに割り算したいんで...
-
三角比の俯角の計算
-
除算を使わずに10で割りたい。
-
VBAでミリ秒まで出力する方法
おすすめ情報