実データ型C 浮動小数点タイプ(フロート、ダブル、長いダブル)

プログラミング内のデータ型は、複数の値とそれらに適用できる多くの操作の2つのセットです。 たとえば、Natural数の有限セットからなる整数のノンマイナス数のデータの種類には、追加操作(+)、乗算(*)、整数部(/)を適用でき、残差(%)を見つけることができます。そして減算( - )。

プログラミング言語は、原則として、プログラミング言語によって提供される一連のプリミティブデータ型を基本的な組み込み単位として提供しています。 C ++のようなタイプでは、言語の作成者は基本タイプを呼び出します。 C ++の基本タイプが考慮されます。

  • 論理(ブール)
  • シンボル(char);
  • 全体(例:int)。
  • 浮動小数点(例:フロート)。
  • 転送(プログラマーによって決まります)。
  • 無効です。

以下のタイプは、リストされているものの上に構築されています。

  • インデックス(例:int *)。
  • 配列(例:CHAR)。
  • 参照(例:ダブル&)。
  • その他の構造

リテラルの概念(例えば、1,2.4F、25E-4、 'A'など)に目を向けてみましょう。リテラル - 固定値を表すプログラムのソースコードでの記録。 つまり、リテラルは、プログラムコード内の任意のタイプのオブジェクト(値)の表示だけです。 C ++では、整数値、浮動小数点値、シンボリック、ブール値、文字列を書き込むことができます。

タイプ全体のリテラルを書き込むことができます。

  • 10番目のシステムシステム 例えば、1205。
  • 0 +フォーマットの8番目の番号システム。 例えば、0142。
  • 0x +フォーマット+番号の16番目の番号システム。 たとえば、0x2Fです。

24,030,0x18 - これらはすべて同じ番号のレコードです。 異なるシステム 注意。
浮動小数点数を書くには、ポイントを通して記録を使用します.0.1、.5,4。
指数記録 - 25E-100。 そのようなレコードにスペースがないはずです。

リテラルによって記録された値を接続できる名前は変数と呼ばれます。 変数はメモリ領域の名前であり、他の方法で使用することができ、そのアドレスはデータにアクセスするために使用できるアドレスを使用できます。 これらのデータは、プログラムの実行中に特定の方法で記録され、書き直し、書き直され、消去されます。 変数を使用すると、いつでもデータにアクセスでき、必要に応じて変更することができます。 変数名で取得できるデータは可変値と呼ばれます。
プログラム内の変数を使用するには、それを宣言する必要があります。必要に応じて、(\u003d初期化)を定義できます。 プログラムテキスト内の変数の発表必ず2つの部分が含まれています。 指定子とイニシャライザはオプションの部分です。

const int例\u003d 3; // const-specifier // int - 基本タイプ//例 - 変数名// \u003d 3 - Initializer。

変数名は、ラテンアルファベット(小文字と大文字)、数字、および/または接着符号の文字からのシンボルのシンボルのシンボルですが、最初の文字番号はできません。 変数の名前は、「月置換」など、推測できるように、常に推測できるように選択する必要があります。 抽象的および実際には、記録規則のCAMELCASE表記を使用します。 変数の名前は、言語で予約されている単語、そのような単語の例と一致することはできません。

変数名を除くreftratorに追加の文字を含めることができます。

  • * - ポインタ; 名前の前に
  • * const - 定数ポインタ。 名前の前に
  • & - 参照; 名前の前に
  • - 配列; 名前の後。
  • () - 関数; 名前の後。

Initializerを使用すると、アナウンスの直後の変数の値を決定できます。 イニシャライザは、等価(\u003d)の文字通りで始まり、変数値の値を設定するプロセスが発生します。 一般的に言って、C ++における平等の符号は割り当ての動作を表します。 これにより、変数の値を指定して変更できます。 にとって 他の種類 それは違うことがあります。

指定子はタイプ以外の追加の属性を設定します。 この例に記載されているconst指定子を使用すると、変数の後続の変更値を禁止できます。 そのような不変変数は定数または定数と呼ばれます。

初期化なしで定数を宣言するには、論理的な理由では機能しません。

const int empty_const; //エラー、定数変数const intample \u003d 2が初期化されていません。 2例\u003d 3の値を持つ定数。 //定数変数値を割り当てようとしています

定数の命名については、小文字のみを使用するのが一般的なものです。

C ++のメインデータ型

各タイプを表示すると、リーダーはデータの種類を判断することを忘れないでください。

1.整数型(char、short(int)、int、long long long)

タイトルから、多くの値が整数で構成されていることを理解しやすいです。 また、リストされた各タイプの多くの値は、符号(符号付き)または符号なし(符号なし)であり得る。 セットに含まれる要素の数はメモリのサイズによって異なります。これはこのタイプの値を格納するために使用されます。 たとえば、1バイトのメモリがCHAR型の変数に指定されているため、すべての項目は次のとおりです。

  • 2 8N \u003d 2 8 * 1 \u003d 256、ここで、nは値を格納するためのバイト単位のメモリサイズです。

この場合、使用可能な整数の範囲は次のとおりです。

  • - 署名していない難いです
  • [-128..127] - 象徴的なチャーのために

デフォルトでは、整数型の変数は符号と見なされます。 変数が未解決になっている必要があるコードを示すために、バッジの符号は左の基本タイプ、すなわち 符号なし:

符号なしの長い値 //全体(長い)未解決の型を設定します。

リストされた型は、ストレージに必要なメモリサイズが異なります。 C ++言語はかなりマシン依存言語標準であるため、次の条件を保証します。

  • 1 \u003dサイズ≦サイズ短≦サイズint≦サイズ長さ。

通常、タイプのサイズは次のとおりです.CHAR-1、SHORT - 2、INT - 4、LONG-8、長い長い8バイト。

タイプ全体の値では、算術演算を実行できます。+、 - 、*、/、%。 比較操作:\u003d\u003d、!\u003d、<=, <, >\u003e \u003d; ビット操作:&、|、XOR、<<, >>.
追加、乗算、減算、比較操作などのほとんどの操作は、理解に問題を引き起こさないでください。 時々、演算を実行した後、結果は値の範囲を超える可能性があります。 この場合、プログラムはエラーを与えます。
整数分割(/)は、1つの整数を別の整数を分割する全体を見つけます。 例えば:

  • 6 / 4 = 1;
  • 2 / 5 = 0;
  • 8 / 2 = 4.

パーセント記号(%)は、2つの整数を分割することからの残留物の動作決定を示します。

  • 6 % 4 = 2;
  • 10 % 3 = 1.

操作を理解するのが難しい - ビット:&(s)、| (または)、XOR(除外または)、<< (побитовый сдвиг влево), >\u003e(右にビットごとに移動します)。

各ビットにビット操作や情報の各ビットへのXOR適切な論理動作が適用されます。

  • 1 10 = 01 2
  • 3 10 = 11 2
  • 1 10 & 3 10 = 01 2 & 11 2 = 01 2
  • 1 10 | 3 10 = 01 2 | 11 2 = 11 2
  • 1 10 XOR 3 10 \u003d 01 2 XOR 11 2 \u003d 10 2

画像処理では、色のための3つのチャネルが使用されます:赤、青、緑、緑の透明度が入力され、int変数の型に格納されている透明度。 各チャネルの範囲は0から255までの範囲です.16-IRICH番号システムでは、特定の値が次のように書き込まれます.0x180013FF; その場合、18 16の値は、赤チャネル、00 16 - BLUE、13 16 - 緑、FF - アルファチャンネル(透明)に対応する。 そのような整数から割り当てるには チャネルと呼ばれる 使用されていた 関心のある位置が私達の位置にf 16または1 2であるマスク。 それら。青いチャンネルの値を強調表示するには、マスクを使用する必要があります。 戦いと:

INT BLUE_CHANNEL \u003d 0x180013FF&0x00FF0000;

その後、得られた値は必要なビット数の右側にシフトする。

ビット単位のシフトは、動作の右側に示されている数の数の2値放電を左右にシフトします。 たとえば、バイナリ形式のCHAR型のタイプ39は、次の形式で書かれています。

char binaryexample \u003d 39; // 00100111 char resuter \u003d binaryexample<< 2; // сдвигаем 2 бита влево, результат: 10011100

符号なし型の変数がある場合、その結果はICONICの場合、ICONICが-100の場合、156の数値になります。 象徴的な整数型では、ビットビューの上級排出権の単位は数の符号です。 同時に、バイナリ形式の値はすべての単位で構成されています。 高齢の放電でのみ1の場合、および他の放電 - ゼロでは、そのような数値は特定の種類の値の最小値を持ちます.CHARは-128です。

2.浮動小数点タイプ(フロート、ダブル(フロート))

浮動小数点型の値のセットは実数のサブセットですが、すべての実数がバイナリ形式で表されているわけではありません。これは、愚かなエラーにつながります。

float値\u003d 0.2。 値\u003d\u003d 0.2; //エラー、値ここでは0.2ではありません。

浮動小数点変数の操作では、プログラマは等価または不等式のチェック操作を使用しないでください。代わりに特定の間隔でのチェックを使用します。

値 - 0.2。< 1e-6; // ok, подбирать интервал тоже нужно осторожно

比較操作に加えて、浮動小数点タイプは、実数との数学的演算に完全に準拠した4つの算術演算をサポートしています。

3.ブール値(論理)タイプ(ブール)

それは2つの値だけで構成されています:true(true)とfalse。 変数を使って仕事をする このタイプ 論理演算を使用する: ()、\u003d\u003d(平等)、!\u003d(不等式)、&&(論理的および)、|| (論理的または) 各操作の結果は適切な真理値表にあります。 例えば:

X Y XOR。0 0 0 0 1 1 1 0 1 1 1 0

4.シンボルタイプ(char、wchar_t)

CHAR型はタイプ全体だけでなく(通常はそのような型はバイトと呼ばれます)だけでなく、テーブルからASCIIシンボルを含む文字番号を格納する文字もあります。 たとえば、コード0x41は文字 'a'、および0x71 - 't'に対応します。

ASCIIテーブルで囲まれていない文字を使用する必要がある場合があり、したがって1バイトを超える1バイトを保存する必要があります。 彼らには幅広いシンボル(wchar_t)があります。

5.1。 アレイズ

配列を使用すると、同じ種類の要素の順次セットを保存できます。 配列は連続ブロックによってメモリに格納されているので、サイズを指定せずにアレイを宣言することはできません。 変数名がそのサイズを示す角括弧()を書き込むと、配列を宣言する。 例えば:

int myArray; //タイプ全体の5つの要素の配列

配列を初期化するために、値はカーリーブラケットにリストされています。 変数の宣言中にのみこの方法を初期化することは可能です。 ちなみに、この場合、配列のサイズを指定する必要はありません。

INT ODDS \u003d(1,3,7,9,11)。 //配列は5回目の値によって初期化されます

配列(配列要素)の特定の値にアクセスするには、Access Operation()が要素番号を示すために使用されます(数字は0で始まります)。 例えば:

オッズ; //配列の最初の要素へのアクセス。 1オッズの値を返します。 // 3番目の要素へのアクセス。 7 ODDS \u003d 13の値を検証します。 // 5Thアレイの要素は新しいオッズ値を割り当てます。 //アクセスエラーにアクセスします

5.3。 弦

回線を記録するには、プログラマは文字列が文字の順次行(配列)であるという考えを使用します。 文字列の終わりを識別するには、行の末尾の特別な行を使用します。 '\\ 0'。 逆スラッシュと識別シンボルからなるそのような特殊文字は、コントロールまたはエスケープシンボルと呼ばれます。 たとえば、 '\\ n' - 新しい行の始まり、 '\\ t'は集計です。 逆スラッシュ文字列を録画するには、シールドが使用されます - サイン自体が別のスラッシュを置く前に '\\'。 スクリーニングは引用符を記録するためにも使用されます。

変数文字列を作成します。

char textexample \u003d( 't'、 'e'、 's'、 't'、 '\\ 0'); //線「テスト」が記録されています

単純化された回線初期化レコードがあります。

CHAR TEXTEXAMPLE \u003d「テスト」; //最後の文字は書かれていませんが、サイズはまだ5です

詳細に入ることなく、別の便利なデータ型 - 文字列を指定します。 弦
このタイプは、たとえば折りたたみです。

string hello \u003d "こんにちは"; 文字列名\u003d "max!"; string hello_name \u003d hello +名。 //行 "hi、max!"を手に入れよう

6.リンク

int a \u003d 2; //変数 "a"は2 int&b \u003d aの値を示します。 //変数bは、ここで "a" b \u003d 4を示す。 //値を変更すると、プログラマは値aを変更します。 今A \u003d 4 int&c \u003d 4。 //エラーがあるので、不可能です。 リンクを割り当てることはできません

7.ポインタ

この種のデータに対処するには、データが始まるメモリセルのアドレスの多数の値であることを覚えておく必要があります。 また、ポインタは追加操作(+)をサポートし、( - )と取得(*)を取得します。

アドレス0x0は、ポインタが空のこと、すなわち データを示すものではありません。 このアドレスには独自のリテラルがあります - NULL:

int * nullptr \u003d null; //空のポインタ

整数または他のアドレスを持つアドレスの追加と減算が許可されます
プログラムで利用可能なメモリを移動します。

ポインタに格納されているアドレスから始まるデータを取得する動作はRAMING(*)と呼ばれます。 プログラムは必要な数のメモリセルを読み取り、メモリに格納されている値を返します。

int valueinmemory \u003d 2; //整数型int * someptr \u003d //変数のアドレスをコピーします。ここでは、someptr変数のアドレスを返します。 //メモリセルのアドレス、例えば0x2F * somptr; // valueは4セルに格納されています.0x2F、0x30,0x31、0x32

ポインタの場合、割り当て動作は利用できず、これは構文的にコピー操作と一致します。 つまり、別のポインタまたは変数のアドレスのアドレスをコピーすることができますが、アドレス自体の値を決定することはできません。

ポインタ自体は、他の変数の他のタイプの値と同様にメモリに格納されており、4バイトを占めているため、ポインタへのポインタを作成できます。

8.列挙体

列挙型プログラマーによって設定された唯一の基本タイプ。 Byand Listingは、名前付きInteger定数の順序付けられたセットであり、リスト名は基本タイプになります。

列挙色(赤、青、緑)。

デフォルトでは、赤\u003d 0、青\u003d 1、green \u003d 2、値を比較することができます。 赤< BLUE < GREEN. Программист при объявлении перечисления может самостоятельно задать значения каждой из констант:

ENUMアクセス(READ \u003d 1、WRITE \u003d 2、EXEC \u003d 4)。

多くの場合、値がTWOSの程度である列挙を使用するのが便利です。 2進表現では、2%の数は1回目のユニットとゼロで構成されます。 例えば:

8 10 = 00001000 2

これらの数を追加した結果、常にどの数字があるかを明確に示しています。

37 10 = 00100101 2 = 00000001 2 + 00000100 2 + 00100000 2 = 1 10 + 4 10 + 32 10

無効です。

構文タイプVOIDは基本タイプを表しますが、それはより複雑なタイプの一部としてのみ使用できます。 voidオブジェクトが存在しません。 ルールとして、このタイプは、関数に返された値を持たない、または不確定型のオブジェクトへの基本的なタイプとして知らせるために使用されます。

voidオブジェクト // error、void void //エラーなどのオブジェクトはありません.Void Void * PTRへのリンクはありません。 // OK、未知のタイプへのポインタを保存する

多くの場合、関数が任意の値を返さないという事実を参照するためにvoidを使用します。 ボイドインジケータは、プログラマがメモリの整合性と正しいタイプのタイプの懸念を完全に取り込むときに機能します。

キャスト

多くの場合、あるタイプの変数の値を別のタイプにもたらす必要があります。 ソースタイプの値のセットが大きい型のサブセットである場合(たとえば、intなど)、コンパイラは暗黙的に暗黙的に暗黙的に表示されます( 暗黙的に。)値の種類を変更します。

int integer \u003d 2。 フロートフローティング\u003d整数。 //フローティング\u003d 2.0

逆のタイプのタイプは情報の損失で完了しますので、浮動小数点数から全部のみが残り、小数は失われます。

これを行うには、これを行うために明確な(明確な)型変換があります。または括弧内のソースタイプの任意の値が作成されるタイプに書き込まれます。

int値\u003d(int)2.5。

単項とバイナリ業務

以前に実行された操作はバイナリと呼ばれます。操作シンボルの左右には、値または変数、たとえば2 + 3、たとえば2 + 3です。変数に適用されます。 それらは変数の左右両方であり得るが、いくつかのそのような操作が早く出会った - 遷移操作(*)および変数(&)のアドレスのキャプチャは単項である。 演算子「++」および「 - 」は、整数変数の値をそれぞれ1回ずつ増減することができますが、変数の左または右側に書き込むことができます。

C ++はまた、同じ変数が表現の左右部分に位置する場合のバイナリ操作の短縮された記録を適用します。 可変値で任意の操作が実行され、操作の結果が同じ変数に入力されます。

a + \u003d 2。 // a \u003d a + 2と同じです。 b / \u003d 5; // b \u003d b / 5と同じです。 C&\u003d 3; // C \u003d C&3と同じです。

このスキャンレコードは、C ++プログラミング言語のデータの基本的な種類とそれらの実装の機能に関する情報を提供します。 また、レコードの最後に、テーブルがこれらのタイプの値の範囲で作成されます。

データ型の概念

プログラムの主な目的はデータを処理することです。 さまざまな種類のデータが格納され、さまざまな方法で処理されます。 任意のアルゴリズム言語では、各定数、変数、式または関数の計算結果には特定の型が必要です。

データ型は決定されます。

  • コンピュータのメモリ内の内部データプレゼンテーション。
  • このタイプの値を取ることができる多くの値。
  • このTINの値に適用できる操作と機能。

これらの特性に基づいて、プログラマは、実際のオブジェクトを表すためにプログラムで使用される各値の型を選択します。 必須タイプの説明コンパイラは、さまざまなプログラムデザインの認識を確認できます。 大きさの種類から、マシンコマンドはデータを処理するために使用されます。

すべてのタイプのC ++言語を分けることができます。 メンテナンス そして 似非 。 C ++言語では、6 basic 整数、実、記号、論理値の表現のためのデータ型。 これらのタイプに基づいて、プログラマーは説明を入力することができます。 複合 タイプ。 これらには、配列、転送、関数、構造、参照、ポインタ、アソシエーション、およびクラスが含まれます。

C ++のメインデータ型

メイン(標準)データ型は算術演算で使用できるため、算術演算と呼ばれます。 メインタイプを説明するには、次のものが定義されています。

  1. int(全体);
  2. char(シンボル)。
  3. wchar_t(詳細記号);
  4. ブール(論理);
  5. フロート(本物);
  6. 二重(実精度物質)。

最初の4つのスズは整数と呼ばれます( 整数 )最後の2つ - 浮動小数点タイプ 。 整数値を処理するためのコンパイラを生成するコードは、浮動小数点値のコードとは異なります。

四つあります タイプ指定子 内部表現と標準タイプの値の範囲を指定する

  • ショート(短い);
  • 長い(長い);
  • 署名された(署名);
  • 署名されていない。

全体のタイプ(int)

型INTのサイズは標準によって決まりませんが、コンピュータとコンパイラによって異なります。 このタイプの大きさ下の16ビットプロセッサの場合、32ビット-4バイトの場合は2バイトが与えられます。

タイプ名の前のスポーツ指定子は、プロセッサの放電に関係なく、数字が2バイトかかることが必要なコンパイラを示します。 長い指定子は、値全体が4バイトを占めることを意味します。 したがって、16ビットコンピュータ、int ant ant int int ant int int ant and long intでは、32ビットint。

内面図 タイプ全体の値はバイナリコードの整数です。 署名付き指定子を使用する場合、数字の先輩ビットは符号として解釈されます(0は正数、1 - 負)。 符号なし指定子は、シニアの放電がコードコードの一部と見なされるため、正数のみを表すことができます。 したがって、INT型の値の範囲は指定子によって異なります。 IBM PC互換のコンピュータのためのさまざまな特定のタイプの値の値の値の範囲は、録音の最後にある「単純なデータ型の範囲」にあります。

デフォルトでは、すべての整数型はICONIC、つまり符号付き指定子を下げることができます。

プログラムで遭遇する定数、1つまたは別のタイプは、それらのビューに従って属性がある。 何らかの理由でこのタイプがプログラマに適していない場合、Sufixes L、L(Long)、U、U(Undigned)を指定して必要な型を明示的に指定できます。 たとえば、32Lの定数には長いタイプがあり、4バイトを占有します。 サフィックスLとUを同時に使用することができます。たとえば、0x22ulまたは05LUなどです。

注意

短編int、long int、署名付きintおよび符号なしintの種類は、それぞれ短く、長く、符号付き、符号なしに切り取ることができます。

シンボルタイプ(char)

文字型のサイズでは、バイト数は、このコンピュータの文字セットから任意の文字に対応するのに十分な値を与えられ、タイトルタイトルを導いた。 原則として、1バイトです。 他の種類の種類と同様に、CHARの種類は、符号または符号を付けることができます。 符号に関しては、値を-128から127の範囲に格納できます。符号なし値を使用する場合、値は最大255までの間になります。これは256文字のASCIIから任意の文字を格納するのに十分です。セットする。 CHAR型の値は、指定された範囲の境界を超えない整数を記憶するためにも使用されます。

高度なシンボルタイプ(wchar_t)

WCHAR_Tタイプは、1バイトで十分ではないエンコード、たとえばUnicodeなどの符号化のために、一連の文字で動作するように設計されています。 このタイプのサイズは実装によって異なります。 原則として、それは短いヒントに対応します。 wchar_t型の文字列定数は、プレフィックスL、たとえばL»Gatesで記録されています。

論理タイプ(ブール)

論理タイプの大きさは、予約語であるTRUEおよびFALSE値のみを取ります。 false-0(ゼロ)の値の表現の内部形式。 その他の値はTrueとして解釈されます。 全体のタイプに変換すると1です。

浮動小数点タイプ(フロート、ダブル、長いダブル)

C ++規格では、実際の値の3種類のデータ保存を定義します.FLOAT、DOUBLE、LONG DOUBLE。

浮動小数点データ型は、整数とは異なるコンピュータのメモリに格納されています。 実数の内部表現は、マンシッサと順序の2つの部分で構成されています。 IBM PC互換のコンピュータでは、フロートタイプのサイズが4バイト占められており、そのうちマンシサ記号によって1つの2進放電が放電され、マナミサの下で23の放電が放電されます。 仮数は1.0以上の数ですが、2.0未満です。 上級仮数桁数は常に1に等しいので、保存されていません。

2倍のタイプの値の値は、8バイト、11および52の放電をそれぞれ占有する。 仮数の長さは数の正確さを決定し、長さの長さはその範囲です。 レコードの最後のテーブルから分かるように、フロートとロングINTの種類に割り当てられた同じバイトを使用して、許容値の範囲は大きく異なります。 表現の内部形式のために.

ダブルタイプ名の前の長い指定子は、10バイトがその大きさの下で指定されていることを示します。

浮動小数点定数はデフォルトのタイプダブルを持ちます。 SFIXES f、f(float)、l、l(long)を使用して定数の種類を明示的に指定できます。 例えば、2E + 6L定数は長い二重型を持ち、1.82F定数はフロートの種類です。

さまざまなプログラムプラットフォームでポータブルを書くには、INT型のサイズについて仮定することは不可能です。 それを得るためには、その結果、その結果がタイプのサイズがバイト単位のサイズであることを使用する必要があります。 たとえば、MS-DOS SIZEOF(INT)オペレーティングシステムの場合、結果として、Windows 98またはOS / 2の場合、結果は4になります。

ANSI規格では、基本タイプの範囲は指定されていないため、次のように決定されます。

sizeof(float)≦slzeof(double)≦sizeof(long double)
sizeof(char)≦slzeof(short)≦sizeof(int)≦sizeof(long)

注意

整数型の最小値と最大許容値は実装によって異なり、ヘッダーファイルに表示されます。 ()、ファイル内の実型の特性 - ファイル内 ()Numeric_Limitsクラステンプレートと同様に、

ボイドタイプ

リストされているものに加えて、メインタイプの言語にはVOIDタイプが含まれていますが、このタイプの値のセットは空です。 関数引数の空のリストをポインタとタイプドライブ操作の基本タイプとして指定するために値を返さない関数を定義するために使用されます。

IBM PC互換コンピュータ用C ++の単純なデータ型の範囲

Q: IBM PC互換コンピュータという用語はどういう意味ですか?
A:IBM PC互換コンピュータ(ENG.IBM PC互換) - コンピュータ、アーキテクチャでIBM PC、XT、AT。 IBM PC互換のコンピュータは、Intel 8086と互換性のあるマイクロプロセッサに基づいて構築されています(そして、あなたが知っているように、すべてのIntel発行後のプロセッサは8086から完全な下位互換性を持っています)。 実際、それはほとんど最近のコンピュータです。

データ表示の範囲と正確さが異なるさまざまな種類の整数と実型が、計算速度とメモリの量が依存するため、特定のハードウェアの機能を最も効果的に使用する機能を提供するために入力されます。タイプの選択。 しかし、コンピュータに最適化されたプログラムは他のプラットフォームに転送することはできません。したがって、一般に、依存関係はデータ型の特定の特性から回避されるべきです。

タイプ 値の範囲 サイズ(バイト)
ブール 真と偽 1
署名チャー。 -128 … 127 1
符号なし文字。 0 … 255 1
短縮順に署名しました。 -32 768 … 32 767 2
符号なし短編int。 0 … 65 535 2
署名されたLong int。 -2 147 483 648 … 2 147 483 647 4
符号なしロングインテ 0 … 4 294 967 295 4
浮く 3.4E-38 ... 3.4E + 38. 4
ダブル。 1.7E-308 ... 1.7C + 308 8
長い二重。 3.4E-4932 ... 3.4E + 4932 10

実際のタイプの場合、表は最小値と最大値の絶対値を示しています。

このレッスンではあなたが学ぶでしょう アルファベット言語C ++何でも データ型 その上のプログラムを処理するかもしれません。 おそらくこれは最もエキサイティングな瞬間ではありませんが、これらの知識が必要です!また、他の言語プログラミング言語を学び始めたことで、同じ学習ステップを最も自信を持って渡します。 C ++言語プログラムには、次の文字が含まれている場合があります。

  • 資本、小文字のラテン文字A、B、C ...、X、Y、Z、およびアンダースコア。
  • 0から9までのアラビア数。
  • 特別な看板:()、| .. 、()+ - /%*。 \\ ':?< > = ! & # ~ ; ^
  • スペース、タブ、および新しい文字列への遷移のシンボル。

プログラムテストでは使用できます コメント。 2文字の「斜め機能」//を持つテキストと新しい文字列への遷移シンボルで終わり、または文字/ *と* /の間で終了した場合、コンパイラはそれを無視します。

C ++のデータ

タスクを任意のプログラムで解決するには、データが処理されます。 彼らはできるようにすることができます 他の種類:全体と実数、記号、線、配列。 C ++のデータは、関数の始めに記述するための通常です。 に 基本データ型 言語属する:

他のデータ型を形成するには、基本といわゆる 指定子。C ++は4つのデータ型指定子を定義します。

  • 短い - 短い。
  • 長い長い;
  • 署名署名
  • unsigned - 不可能なものです。

整数型

タイプ変数 int。 コンピュータは2または4バイトを占めることがあります。 それはプロセッサの生態促力に依存します。 デフォルトでは、すべての型が象徴的な、つまり指定子と見なされます。 署名されました。指定できません。 仕様 署名されていない。正数のみを表すことができます。 以下は、タイプ全体の値の範囲です。

タイプ 範囲 サイズ
int。 -2147483648…2147483647 4バイト
unsigned int。 0…4294967295 4バイト
署名したint。 -2147483648…2147483647 4バイト
ショートインテ -32768…32767 2バイト
長鎖 -2147483648…2147483647 4バイト
符号なし短編int。 0…65535 2バイト

実型

浮動小数点数はME + - Pの形で表され、ここで、MはMANTISSE(小数点の整数または分数数)、Pは次数(整数)です。 通常タイプの値 浮く4バイトを占め、 ダブル。8バイト 実型の値の表範囲:

浮く 3,4e-38 ... 3,4E + 38. 4バイト
ダブル。 1,7e-308 ... 1.7e + 308 8バイト
長い二重。 3,4e-4932 ... 3,4E + 4932 8バイト

論理タイプ

タイプ変数 ブール2つの意味を2つだけ取ります 真実(true ) または ファスル(false ). ゼロに等しくないだれでも、どなたでも解釈されます 真実です。false メモリに0として表示されます。

ボイドタイプ

このタイプの多くの値は空です。 関数引数の空のリストをポインタとタイプドライブ操作の基本タイプとして指定するために値を返さない関数を定義するために使用されます。

データ型の変換

C ++は、2種類のデータ型変換を区別します。明示的および暗黙的。

  • 暗黙の変換 自動的に起こります。 これは、比較中、さまざまなタイプの式の割り当てまたは計算中に実行されます。 たとえば、次のプログラムはコンソールのタイプの種類を表示します。 浮く。

#include "stdafx.h" #include. ネームスペースstdを使用する。 int main()(int i \u003d 5; float f \u003d 10.12; cout<\u003e void ");戻り値0;)

#include "stdafx.h"

#include。

ネームスペースstdを使用する。

int main()

iNT i \u003d 5。 float f \u003d 10.12。

cout。<< i / f ;

システム( "Pause \u003e\u003e void";

0を返します。

最高の優先順位は、情報がすべてのものよりも小さいタイプを受け取ります。 意外な状況の種類が異なる場合があるため、暗黙の型変換を乱用する必要はありません。

  • 明示的な変換 プログラマーによって暗黙のうちに行われたとは異なります。 このような変換にはいくつかの方法があります。
  1. スタイルの変革 C.: (フロート)
  2. スタイルの変革 C ++: 浮く ()

また、次の操作を使用して種類の種類を実行できます。

static_cast。<> ()const_cast。<> ()reinterpret_cast。<> ()dynamic_cast。<> ()

static_cast。<> ()

const_cast。<> ()

reInertret_cast。<> ()

dynamic_cast。<> ()

static_cas- 関連データ型を変換します。 このオペレータは通常のルールでタイプを導きます。これは、コンパイラが自動的に変換されない場合に必要な場合があります。 構文は次のようになります。

static_castと入力します。<Тип> (オブジェクト)

static_castの助けを借りて、変数の恒常性を解除することは不可能ですが、次の演算子への力です。 const_cast。 - オブジェクトのコンスタンシーを削除する必要がある場合にのみ適用されます。 構文は次のようになります。

タイプ const_cast。< タイプ> (オブジェクト);

reInertret_cast。- 異なる型、整数をポインタに変換するために使用されます。 あなたが新しい単語「ポインター」を見たら - 恐れてはいけません! これはデータ型でもありますが、すぐに彼と協力しません。 ここでの構文は、以前にレビューされている演算子と同じです。

タイプ 再解釈する。_キャスト。< タイプ> (オブジェクト);

dynamic_cast。 - タイプを動的に変換するために使用され、ポインタまたはリンクの調整を実装します。 構文:

タイプ 動的 _キャスト。< タイプ> (オブジェクト);

シンボルの管理

これらのうちのいくつかはあなたがすでに慣れ親しんでいる(たとえば、 \\). 逆の「スラッシュ」から始めて、二重引用符でも囲まれています。

画像

16進コード

名前

ビープウビープビー

段階に戻る

ページ翻訳(フォーマット)

ライン翻訳

送料を返却します

水平集計

垂直集計

回答:
  1. extanデータ型:

短いint、unsigned短int、int、unsigned int、long、符号なし

  1. 浮動セミコロンデータ型(実際のタイプに準拠):

フロート、ダブル、長い二重。

  1. シンボルデータの種類:

char(署名文字)、unsigned char、wchar_t。

  1. 論理データ型:

ブール

  1. 列挙データタイプ(Visual C ++に入力):

列挙体

2.整数データ型を使用する機能は何ですか?

C ++では、メインの整数データ型:短いint、符号なし短縮int、int、unsigned int、long int、unsigned long(unsigned long int)。

これらの種類のデータは、複数の整数からの値を表す。 例えば:

2 -100 398

符号なしコンソールから起動するデータ型には、正数のみを含めることができます。

Short int、符号なし短群データは、int undigned intよりもメモリ内で2倍少ないかかります。

データ型長い、符号なしの長さは、int以外のメモリ内の2倍の符号なしintです。

3.プログラム内でどのようにタイプ全体のXという名前の変数を記述しますか?

回答:
int x; //署名付きの整数

その結果、変数の下に バツ。 4バイトのメモリには場所があります。 変数に割り当てられているメモリのサイズは、コンピュータの特性、オペレーティングシステムの種類、およびコンパイラ設定によって異なります。

4.変数に数値239を記録する方法は?

これを行うには、 '\u003d'シンボルで示される代入演算子を使用してください。

答え1。 説明の後に数値を変数にする。

int x; x \u003d 239;

回答2。 説明中に変数に数値を作成します(初期初期化)。

int x \u003d 239;

5.フローティングセミコロンデータ型の機能は何ですか?

フローティングセミコロンの種類は、複数の実数から値を表すことが許可されている。 例えば:

8.35 -990.399 239.0.

C ++には、次の基本的な浮動小数点データ型があります。

フロート、ダブル、長い二重。

変数型は、変数型FLOATよりもコンピュータのメモリに2倍のスペースを2倍にかかります。

また、可変型の長さのタイプは、変数型ダブルよりもコンピュータのメモリに2倍ものスペースを取ります。

6.浮動小数点値をかける変数を説明する方法?

変数型float、double、long doubleの説明の例です。

float f; ダブルD; 長い二重LD。

7.浮動小数点変数に数値を記録する方法は?

数値データを浮動小数点変数型にする例:

float f \u003d -9928.45。 //初期化を開始します ダブルD; 長い二重LD。 d \u003d 0.445332; //演算子の割り当て lD \u003d 3892923898239.030903; //演算子の割り当て

8.変数型floatを型INTに変換する方法?

これを行うには、タイプの種類の操作を使用してください。 ブラケットには、説明会が発生するタイプの名前を指定する必要があります。

浮かぶ; int b; a \u003d 8.457; b \u003d(int)a。 // B \u003d 8

タイプドライブ操作を使用する場合は、コンピュータのメモリ内のスペースが少ない種類に重なっている制限を考慮に入れる必要があります。

たとえば、可変型のショートintは、変数型のfloat、doubleよりも小さい数値を表すことができます。 次のリストでは、値は変数型短縮INTでオーバーフローしています。

ショートインター float f; f \u003d 3990099.8; i \u003d(int)f; // I \u003d -7597 - オーバーフロー

9. int型からの変数をDouble Typeに翻訳する方法

intをdoubleに持ち込む例:

int i; ダブルD; i \u003d 982; d \u003d(ダブル)i; // D \u003d 982.0

10.プログラム内のデータ型CHAR(シンボリックデータ)の使用の特徴は何ですか?

CHAR型データは、キーボードから入力されたコードのシンボル値を表します。 シンボルコードは整数です。

例えば、シンボル「F」のコードは102の値に等しい。

シンボルコードが計算されているコードフラグメント

intコード; チャーシンボル。 記号\u003d "f"; code \u003d(int)シンボル。 // CODE \u003d 102

CHAR型データは同じ整数です。 CHAR型データは、コンピュータのメモリに1バイトを占有します。

「シンボルコード」比率は、Windowsシンボルテーブルに配置されます。 0から127までのコードを持つシンボルは、予約されたBIOS文字です。 これらは、最も消費された文字、数字の文字、ラテン語のアルファベットの記号を含みます。 これらの文字は変更できません。

128から255のコードの記号は、インストールされているそのコンピュータの特定のアルファベットに添付された地域記号です。 オペレーティング・システム ウィンドウズ。

11.データ型BOOL(論理型)の機能の特徴は何ですか?

BOOL型の変数は2つの値しか利用できません。

真の真理、

false - 嘘をつきます。

これらの変数は論理式を検証するために使用されます。 数値は1に等しいです。 数値は0に等しい場合です。

決定するスニペットコード 数値 真と偽:

intの結果 ブールB; 結果\u003d(int)true; // result \u003d 1 b \u003d false; 結果\u003d(int)b; //結果\u003d 0

INTとFLOATをBOOLに変換するコードフラグメント:

int i; float f; ブールB; i \u003d 6; b \u003d(ブール)I; // B \u003d TRUE f \u003d 0.0。 b \u003d(ブール)F; // B \u003d FALSE

12.このタイプの変数を取るメモリのサイズを決定する方法?

これはsizeof()操作を使用します。

一部のデータ型のサイズを決定するコードフラグメント

int d; d \u003dサイズ(char); // D \u003d 1 d \u003d sizeof(unsigned int); // d \u003d 4 d \u003d sizeof(float); // d \u003d 4 d \u003d sizeof(double)。 // D \u003d 8

13.さまざまな種類の変数の初期化はどうですか?

iNT D \u003d 28。 float z \u003d(float)2.85。 char c \u003d "k"; 文字列^ s \u003d "こんにちは!" ; 二重R \u003d -8.559;

14.特定のタイプの変数の最大許容値(最小許容)値を決定する方法

最も許可または最小値を決定する 許容値 ライブラリ内のいくつかの型の変数。 ネットフレームワーク。 MAXVALUEおよび最小値の特性が使用されます。

異なる型の変数の制限値を決定する例。

変数型INT:

// intを入力します。 int i; 長いマキシ ロングミニ MAXINT \u003d(long)i.maxvalue; // Maxint \u003d 2147483647 minint \u003d(long)i.minvalue; // MININT \u003d -2147483648

変数型短範囲:

//ショートインテを入力します ショートインターSI。 int maxint; intミニント。 MAXINT \u003d(INT)SI.MAXVALUE。 // Maxint \u003d 32767 MININT \u003d(int)Si.minvalue; // Minint \u003d -32768

unsigned int変数の場合:

// unsigned int unsigned int ui。 unsigned int maxint。 符号なしINTミニ MAXINT \u003d UI.MAXVALUE; // Maxint \u003d 4294967295 MININT \u003d UI.MINVALUE; // minint \u003d 0

変数型float:

// floatを入力します。 float f; float maxf; 浮き上がった maxf \u003d f.maxvalue; // MAXF \u003d 3.402823E + 38 minf \u003d f.minvalue。 // MINF \u003d -3.402823E + 38

変数のタイプダブル:

// 2倍を入力します ダブルD; ダブルマックス 二重心; max \u003d d.maxvalue; // MAX \u003d 1.79769313486232E + 308 min \u003d d.minvalue。 // MIN \u003d -1.79769313486232E + 308

変数型CHARの場合:

// charを入力します。 char c; int maxc; int minc; max \u003d(int)cmax値。 // max \u003d 127 min \u003d(int)c.minvalue; // min \u003d -128

15.列挙型の種類を使用する機能は何ですか?

列挙型はデータ型です。 全体の値のセットのニーモニック値を定義します。 各ニーモニック値は特定のコンテンツを持ち、整数のようです。

ENUMタイプを使用して年の月を示す例:

enumヶ月(1月、生年月、3月、4月、5月、6月、7月、 8月、9月、10月、11月、解決済み)Mn。 mn \u003d 1月。 // mn \u003d 0 mn \u003d 3月。 // mn \u003d 2. mn \u003d 9月。 // Mn \u003d 8.

この例では、MN型enum monhsという名前の変数を説明します。 月のモンソニック値(1月、2月、...)0(0,1,2、...)で始まります。 1月のニーモニック値は整数値0に対応し、2月のニーモニック値は1の整数値に対応します。

したがって、列挙型を使用して、ソースコードをより明確にするために、プログラムテキストでニーモニック表記を使用できます。

あなたは書き込むことができます。

mn \u003d(enum monhs)2; // MN \u003d 3月 mn \u003d(Enum Monhs)11; // Mn \u003d 12月

タイプの種類のどの特徴無効です。 プログラムでC.++ ?

voidデータ型は次の場合に使用されます。

  • 値を返さない関数を説明する必要がある場合(例を参照)。
  • パラメータを受信しない関数を説明する必要がある場合(例を参照)。

。 myfun()は、値を返さないパラメータなしで(void型を返します)、パラメータを受信しません。

パブリック:void myfun(void) { //ボディー機能 // ... 帰国; //値を返さない関数から返す } //プログラムから機能を呼び出します ... myfun(); ...

17.タイプの変数を宣言することは可能ですか無効です。 プログラムで?

Void型は値に関連付けられていないため、不可能です。

変数型voidのアナウンスは、メッセージ出力を使用したコンパイルエラーにつながります。

「ボイドの種類の違法な使用」

18.タイプの種類の特徴は何ですかwchar。_ t ビジュアル C.++ ?

CHAR型変数(前の項目を参照)は、8ビットのASCII -SIMVOLを保存するために使用されます。

wchar_tタイプは、大文字セットの一部である文字を保存するために使用されます。 たとえば、中国語のアルファベットでは膨大な数の文字があります。 8つの放電は、中国語のアルファベット文字全体を表示するのに十分ではありません。 したがって、国際市場でプログラムを使用する必要がある場合は、WCHAR_TのタイプCHARを交換することをお勧めします。

タイプwchar_tの使用

... wchar_t t; //変数T割り当て2メモリバイト数を割り当てます t \u003d "s"; ...

最終更新日:2017/207/27

各変数には特定のタイプがあります。 そしてこのタイプは、どの値に変数を持つことができるかを決定し、それを使用した操作とメモリ内のバイトを占めるバイトです。 以下の基本データ型はC ++で定義されています。

    ブール:論理タイプ。 2つの値のうちの1つ(真実)と偽(嘘)を取ります。 この種の占有メモリのサイズは間違いなく定義されていません。

    char:ASCIIエンコード内の1文字を表します。 メモリ1バイト(8ビット)を取ります。 -128から127まで、または0から255の範囲から任意の値を格納できます。

    署名付きCHAR:1文字を表します。 メモリ1バイト(8ビット)を取ります。 -128から127の範囲から任意の値を格納できます

    符号なし文字:1文字を表します。 メモリ1バイト(8ビット)を取ります。 0から255の範囲から任意の値を格納できます

    wchar_t:拡張シンボルを表します。 Windowsでは、Linux - 4バイト(32ビット)でメモリ2バイト(16ビット)を取り込む。 0から65 535(2バイト)の範囲から、または0から4 294 967 295(4バイト)の範囲から任意の値を格納できます。

    cHAR16_T:Unicodeエンコードで1文字を表します。 メモリ2バイト(16ビット)を取ります。 0から65 535の範囲から任意の値を保存できます

    cHAR32_T:Unicodeエンコードで1文字を表します。 それはメモリ4バイト(32ビット)を取ります。 0から4 294 967 295の範囲から任意の値を保存できます

    short:-32768から32767の範囲の整数を表します。メモリ2バイト(16ビット)を取ります。

    このタイプには短いintの同義語もあり、短縮順に署名された短いintです。

    符号なしShort:0から65535の範囲の整数を表示します。メモリ2バイト(16ビット)に取り込まれます。

    このタイプにはunsigned short intの同義語もあります。

    int:整数を表します。 プロセッサアーキテクチャによっては、2バイト(16ビット)または4バイト(32ビット)が2バイトを占有できます。 したがって、限界値の範囲は、-32768から32767(2バイトで)または-2 147 483 648から2 147 483 647(4バイト)までも変わり得る。 しかし、いずれにせよ、サイズは短く、小さいサイズのサイズのサイズ以上でなければなりません。

    このタイプは同義語を署名して署名されました。

    unsigned int:正の整数を表します。 プロセッサアーキテクチャに応じて、2バイト(16ビット)または4バイト(32ビット)が占有される可能性があり、この範囲の制限値のために、0から65535(2バイトの場合)、または0から4まで294 967 295(4バイト)。

    このタイプの同義語としては、符号なしに使用できます

    lONG:-2 147 483 648から2 147 483 647の範囲の整数を整備します。メモリ4バイト(32ビット)を取ります。

    このタイプはLONG\u200b\u200b INTの同義語、ロングインテグ&ロング登録に署名しました。

    符号なしLong:0から4 294 967 295の範囲の整数を投げます。メモリ4バイト(32ビット)に取り込まれます。

    同義語unsigned long intを持っています。

    長い長い:-9 223 372 036 854 775 808から+9 223 372 036 854 775 807の範囲の整数を表します。

    それは同義語の長い長いintを持っていて、長い長いintを署名し、長い長い長い署名されました。

    符号なしLONG LONG:0から18 44 744 073 709 551 615の範囲の整数を表します。原則として、8バイト(64ビット)が取り込まれます。

    同義語の符号なしLong Long intを持っています。

    float:+/- 3.4e-38~3.4e + 38の範囲の浮動小数点を持つ通常の精度の実数を表します。 メモリ内で4バイト(32ビット)

    double:+/- 1.7e-308から1.7e + 308の範囲の浮動小数点を持つ実精度の実数を表します。 メモリでは8バイト(64ビット)かかります

    long Double:少なくとも8バイト(64ビット)の浮動小数点を持つ2倍精度の実数を表します。 メモリのサイズによっては、許容値の範囲が異なる場合があります。

    void:有効なしで入力します

したがって、VOID以外のすべてのタイプのデータは、シンボリック(char、wchar_t、char16_t、char32_t)、整数(short、int、long、long long)および浮動小数点数(float、double、long double)の3つのグループに分割できます。

シンボリックタイプ

アプリケーション内の文字を表示するには、char、wchar_t、char16_t、およびchar32_tの種類が使用されます。

いくつかの変数を定義します。

char c \u003d "d"; wchar_t d \u003d "c";

値としてのchar型変数は1文字を取ります。 一重引用符:char c \u003d "d"。 上記の範囲から数字を割り当てることもできます.char c \u003d 120。 この場合、変数Cの値は、ASCIIシンボルテーブル内のコード120を持つ文字になります。

WCHAR_Tシンボルコンソールを出力するには、STD :: COUT、およびSTD :: WCOUTストリームを使用する必要はありません。

#include。 int main()(char a \u003d "h"; wchar_t b \u003d "e"; std :: wcout<< a << b << "\n"; return 0; }

同時に、STD :: WCOUTフローはcharとwchar_tの両方で動作できます。 wchar_t変数のSTD :: COUTストリームは、シンボルの代わりにその数値コードを表示します。

C ++ 11規格では、CHAR16_TとCHAR32_Tの種類が追加され、Unicodeの使用に焦点が当てられています。 ただし、OSレベルでは、ストリームはこれらのタイプで動作するために実装されていません。 したがって、これらのタイプの値をコンソールに表示する必要がある場合は、変数をcharまたはwchar_t型に変換する必要があります。

#include。 int main()(char A \u003d "H"; wchar_t b \u003d "; char16_t c \u003d" l "; char32_t d \u003d" o "; std :: cout<< a << (char)b << (char)c << (char)d << "\n"; return 0; }

この場合、変数の前に表示されると、文字(CHAR型タイプが示されているため、変数B、C、Dの値がCHAR型に変換するため、STDを使用してコンソールに表示できます。 :: COUTストリーム。

インテリジェントなタイプ

整数型は、短く、符号なしの短縮、int、符号なしint、long ind、符号なしの長い長い長い長い長い長い長い長い長い長い間、

短いA \u003d -10。 符号なし短いB \u003d 10。 int c \u003d -30; 符号なしint d \u003d 60。 長いe \u003d -170。 符号なしLong F \u003d 45。 長い長いg \u003d 89。

浮動小数点数の種類

浮動小数点数の種類IILI分数数は、浮動小数点以下のタイプ、ダブルと長いダブルです。

FLOAT A \u003d -10.45。 二重B \u003d 0.00105。 長い二重C \u003d 30.890045。

データ型

上のリストでは、メモリに取り込まれるサイズは各タイプに指定されています。 ただし、コンパイラ開発者の種類の制限サイズがコンピュータのハードウェア機能に基づいて独立して選択できることは注目に値します。 標準は最小値のみを確立します。 たとえば、int and shortの種類の場合、Long Double Typeの場合は、Long Type-32ビットの場合、最小値は16ビットです。 同時に、長いタイプのサイズはタイプINTの型以上でなければならず、int型のサイズは短いタイプのサイズ以上で、長いダブルタイプのサイズは必須です。もっとダブル。 たとえば、WindowsのG ++コンパイラは、DOUBLEでは12バイトを使用し、コンパイラはVisual Studioに組み込まれており、WindowsではWindowsの下で動作します。 つまり、同じプラットフォーム内でさえ、異なるコンパイラがさまざまな方法で一部のデータ型のサイズに近づくことができます。 しかし一般的に、これらの寸法はデータ型を説明するときに上記で使用されています。

ただし、特定の種類のサイズを正確に知っておく必要がある場合に状況があります。 そしてこのために、C ++では、変数が取るべきバイト単位でメモリサイズを返すsizeof()演算子があります。

#include。 int main()(長い二重数\u003d 2; STD :: Cout<< "sizeof(number) =" << sizeof(number); return 0; }

G ++でコンパイル時のコンソール結論:

sizeof(number)\u003d 12.

同時に、変数を決定するときに、変数の値がそのタイプについて概説されている制限を超えてはいけないことを理解することが重要です。 例えば:

符号なし短い数\u003d -65535;

この文字列を使用してプログラムをコンパイルするときのG ++コンパイラは、値-65535が符号なし短縮の種類の有効値の範囲に含まれておらず、切り捨てられます。

Visual Studioでは、コンパイルがエラーなしで通過することがありますが、変数番号は2の値を受け取ります。-65535の符号なし短い型への変換の結果です。 つまり、再び、結果は予想されるものではありません。 変数の値は、メモリ内のビットのセットです。これは特定のタイプに従って解釈されます。 そして異なるタイプの場合、同じビットのセットはさまざまな方法で解釈できます。 したがって、可変値を割り当てるときに、1つまたは複数の値の値を考慮に入れることが重要です。

自動指定子

時々、式の種類を決定することは困難です。 そして最新の標準によると、オブジェクトの種類を表示するためのコンパイラを提供することができます。 そしてこれは自動指定子を適用します。 この場合、自動指定子を使用して変数を判断すると、この変数は任意の値で初期化する必要があります。

自動番号\u003d 5;

割り当てられた値に基づいて、コンパイラは変数の種類を表示します。 自動指定子を持つ初期化されていない変数は許可されていません。

トピックを続ける:
モデム

あなたは衛星放送テレビTricolorテレビを見ていましたか? 古い受信機を変更する時が来ましたか? 今夢を現実に具現化するのに最適な時期。 チェックアウト ...