長整数を宣言して開始しますか?
このフォーラムにとって基本的な質問ではないことを願っています。上記の両方のステートメントが同じことを達成するかどうかを知りたいです。つまり、長整数変数 num を宣言し、それを 24 に初期化します。ありがとうございます。
長整数を宣言して開始しますか?
このフォーラムにとって基本的な質問ではないことを願っています。上記の両方のステートメントが同じことを達成するかどうかを知りたいです。つまり、長整数変数 num を宣言し、それを 24 に初期化します。ありがとうございます。
long int num = 24;
とint num = 24L
同じですか?
彼らは違います。
1 つ目は型の変数を「作成」し、代入前に値 24 を型long int
に暗黙的に変換します。2 番目は、型の変数を「作成」し、代入前に値 24 を型に暗黙的に変換します。int
long int
int
long int
int
いいえ、long int
long int をint
宣言し、int 変数を宣言します。変数の型は、それが「初期化」される (より正確には、割り当てられる) 値に依存することはありません。long int
したがって、環境内で型と型が同じである場合にのみ、2 つの宣言は同じですint
。
ではない正確に。long int
とint
は保証されていませんが、異なるサイズであると想定されています。
long int num = 24;
これは int と同様に安全で24
あり、(暗黙的に) に昇格されlong int
ます。
int num = 24L;
これは一般的にそれほど安全ではありません。に「切り詰められた」 を24L
定義し、 <の場合は問題が発生する可能性があります。long int
int
sizeof(int)
sizeof(long int)
なぜ「IN GENERAL」と「COULD」なのですか?この場合、どちらも同じで安全だからです。しかし、次のようなことをするとします。
int num = xL;
x
に収まるが収まらlong int
ない大きな数はどこint
ですか? 次に、オーバーフローがあります。
いいえ。変数の型は、変数の型によって定義され、その左側の型によってのみ定義されます。
long int num
num
変数を long int として宣言します。int num
num
変数を int として宣言します。一方、等号の右辺も独立して定義されます。
24
int です。24L
long int です右側 (この場合は24
or ) は、左側 (この場合は変数)に収まるように24L
強制 (つまり、変更) されますが、その逆はありません。num
変数の型と変数の初期化に使用される定数の型を区別する必要があります。
最初の宣言は、long int
変数を宣言し、それを値に初期化します24L
(これは、整数定数24
をにキャストした後に得られるものですlong int
)。2 番目の宣言は、int
変数を宣言し、値に初期化します24
(これは、long 整数定数24L
をにキャストした後に得られるものですint
)。