
No.3ベストアンサー
- 回答日時:
Cで定義された予約語は小文字の int のみです。
INT は、その(おそらくはプロジェクトで)独自に定義された型になります。
さて、なぜ、紛らわしい予約語をわざわざ定義するのかですが、実は、Cにおける int は、「整数を表す型のうちで、その処理系で処理しやすいもの」としか規定がありません。
最近の Windows だと、int は 32bit 幅ですが、いずれ、64bit 幅の int を持つ処理系が出てくるかもしれません。
10年ちょっと前なら、パソコンの世界でも、int は 16bit 幅でした。
プログラムの応用によっては、このように、処理系によって int のサイズが異なる」というのは、困ったことになります。
たとえば、直接外部のハードウエアとやりとりするような機器であれば、その機器のデータサイズがたとえば、16bit に固定されていたりします。
そういうような場合に、どこかで、 INT は、16bit 幅の整数型であると定義しておきます(普通は、typedef で定義しておく)
こうすれば、現在の int が 32bit 幅でも、大昔の 16bit でも、将来 64bit になったとしても、
INT b;
と定義した変数経由であれば、安全に外部の機器とやりとりできることになります。
int は、その処理系によって、16bit だったり、32bit だったりしますが、 INT は、(あらかじめ定義すれば) 16bit 固定にできるからです。
こういう用途で、 INT とか、UINT とか、もっとハードよりだと、WORD とか BYTE とかそういう型が使われていることがあります。
また、Cの(規格で決まっているわけではありませんが)流儀として、大文字だけで構成された識別子(上記の INT など)は、「プロジェクトや処理系で個別に定義したもの」というニュアンスが漂っていたりします。

No.5
- 回答日時:
3番さんと同見解です。
typedef INT int
というコードがどこかの****.hとかのファイルで定義されているのではないかと思います。
私の仕事では
typedef signed char SINT8
typedef signed short SINT16
typedef signed long SINT32
typedef unsigned char UINT8
typedef unsigned char CHAR
typedef unsigned short UINT16
typedef unsigned long UINT32
typedef unsigned char BYTE
typedef unsigned short WORD
・・・
のような感じで、統一しています。
コーディング時に、変数の目的がわかりやすいように。
コンパイルオプションに依存しないように。
その他。
が目的だと思います。
No.4
- 回答日時:
具体的な処理系等に関する情報がないと、正確なことは分かりませんが...
すでに回答が出ているように、intはCの標準規格で規定された整数型ですが、INTというのは何の規定もありません。
普通はユーザー定義型、もしくは特定の方言で用意された予約語かもしれません。
なお、intのサイズを隠蔽するためにINT型のようなtypedef名を設けたとしても、整数拡張や既定の実引数拡張、あるいは整数定数の型を決定する上でint型のサイズが付いて回ります。
C++の場合には、多重定義の振る舞いを分かりづらくするという弊害もあります。
No.2
- 回答日時:
intは「予約語」、INTは「環境依存の予約識別子」です。
予約語は規格上既に決定されており、
識別子として使うことができませんが
予約識別子は環境によって定義されない為、
識別子として使用することができる場合もありますし
逆に言えばINTが使えない環境も存在するという事です。
個人的にはコーティング規則などであわせる以外では
無理に使うと移植性を失くすと思います。
typedefで定義された予約識別子は同意語として
定義されるため上に上げた以外に機能的な差異は
ほぼ無いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のコンパイルエラー
-
変数の型を定義しなかった場合...
-
コンパイルすると error C1083 ...
-
C++のfor文について
-
【#define】 defineで定義した...
-
ハンドルされていない例外が発...
-
namespace定義の使い方
-
プログラムの中で別のmainを呼...
-
C++でboolにintの値を代入する...
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
2÷3などの余りについて
-
実数の整数部,小数部の取得
-
20'(角度)の計算がわかりま...
-
C 開放してるのにエラー(doubl...
-
C言語 エラーの原因がわからな...
-
Cプログラムについて
-
信頼区間の1.96や1.65ってどこ...
-
「指定されたキャストは有効で...
-
エクセルで可視セルにのみ値貼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
main.c:7:43: warning: implici...
-
long型の定数の末尾にLを付ける...
-
DWORDの実際の型は何でしょうか
-
visualstudio C# テキストボッ...
-
2重定義って??
-
C++のfor文について
-
変数の型を定義しなかった場合...
-
ハンドルされていない例外が発...
-
intとINTの違いは?
-
C++でboolにintの値を代入する...
-
構造体の要素すべてに対する四...
-
プログラムの中で別のmainを呼...
-
エラー「invalid conversion fr...
-
GCCで暗黙の型変換の警告を出し...
-
【#define】 defineで定義した...
-
sshdログの意味
-
DDVによるメッセージの変更
-
typedef enumの使い方を教えて...
-
構造体を生成時にわざわざ初期...
-
DLLでLIBファイルが作成されない
おすすめ情報