[解決済み] charはデフォルトでsignedかunsignedか?
2022-04-20 08:58:50
質問
C"コンプリート・リファレンス』には、次のように書かれています。
char
はデフォルトで符号なしです。
しかし、私はこれをVisual StudioだけでなくGCCでも検証しようとしています。それは、それを 符号付き をデフォルトで使用します。
どちらが正しいのでしょうか?
解決方法は?
この本は間違っています。 規格では、プレーンな
char
は符号付きか符号なしかを指定します。
実は、この規格では3つの異なるタイプが定義されています。
char
,
signed char
および
unsigned char
. もし、あなたが
#include <limits.h>
を見て、その後に
CHAR_MIN
であれば、プレーンな
char
は
signed
または
unsigned
(もし
CHAR_MIN
が0より小さいか0に等しい)、その場合でも
この3つのタイプは、それぞれ
を、規格の範囲内で行う。
以下の点に注意してください。
char
はこのように特殊です。もし、変数を
int
と宣言したのと100%同じです。
signed int
. これは、すべてのコンパイラとアーキテクチャに常に当てはまります。
関連
-
構造体の配列--[エラー] '['トークンの前に一次式があることが予想される
-
[解決済み] std::string を const char* または char* に変換する方法
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] unsigned charとは何ですか?
-
[解決済み] std::vector に対する反復処理: 符号なしインデックス変数と符号ありインデックス変数の比較
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】符号なし整数のオーバーフローは定義されているのに、符号あり整数のオーバーフローは定義されていないのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
#137: 式は変更可能なlvalueでなければならない問題 // 文字列配列の代入問題
-
ポインタ定数および定数ポインタ
-
Solve Dev-c++ [エラー] 'for' ループの初期宣言は、C99 または C11 モードでのみ許可されます。
-
error: 'for' loop initial declaration is only allowed in C99 mode 原因と解決方法
-
[解決済み] PTHREAD_MUTEX_INITIALIZER vs pthread_mutex_init ( &mutex, param )
-
[解決済み] flexible array member not at end of structエラーの原因は何ですか?
-
[解決済み] C関数から文字列を返す
-
[解決済み] longをフォーマットするprintfの引数は何ですか?
-
[解決済み] C言語でファイルが存在するかどうかを確認する最も良い方法は何ですか?
-
[解決済み] ストラクチャーとユニオンの違い