【C++】 変数 / Variable

【C++】
変数 / Variable




プログラミングで必須の「変数」。
変数の特徴を知っていると、プログラミングを作成するのも、 読み解くのも楽になります。






変数とは


変数とは、値を保持する箱の役目を果たす。
箱の種類によって、保持できる値の種類が決まるので、
変数を使用するときは、あらかじめ、変数を宣言して、その際に、変数の型も決めて、記述・宣言しなければならない。

自分で作る変数や関数などの名前は「識別子」と呼び、識別子の名前は基本的には 自由に命名が可能。
だが、変数名には、条件があり、予約語に含まれている文字は使用できない。


Back



変数の宣言と代入


宣言時に値を代入することを初期化という。
明示的に、変数を宣言するときに、値を変数に代入しなければ、
値は、「0」となる。


変数は、「宣言」「定義」「代入(値の設定)」をすることで使用することができる。
定義と代入を同時に行うことができるのが、「変数の初期化」。


変数の「宣言」「定義」

型名 変数名;

int a;
extern int a;


変数の「代入(値の設定)」

変数名=値;


変数の「宣言」「定義」「代入(値の設定)」をまとめた書式

型名 変数名=値;
char text_array_welcomeword[]=”hello world”;


変数の宣言型名 変数名;
変数の代入変数名=値
ポインタの宣言型名 *ポインタ名;
ポインタの宣言と
変数アドレスのポインタ情報を代入
型名 *ポインタ名=&変数名;
ポインタ情報を参照する型名 変数名=ポインタ名;
ポインタが示すのデータを参照する型名 変数名=*ポインタ名;


Back



変数の型


データの種類意味
論理型bool プール値(true または false)を扱う。
「bool」型は、2 つの値 (true または false) のいずれかを設定できる整数型。
整数型char 8ビット符号付整数 0~255
MBCS(MultiByte Character Set)の文字を扱う。
「char」型は、文字・文字列を格納する整数型。
文字型wchar_t ワイド文字「Unicode(16ビット)」の文字を扱う。
C言語にはない型。
「 __wchar_t」の変数は、「ワイド文字」または「マルチバイト文字」型を指定する。
デフォルトでは、「wchar_t」はネイティブ型。
「/Zc:wchar_t-」を使用し、「wchar_t」を「unsigned short」の「typedef」変換可能。

「ワイド文字型」の定数を指定するには、「文字」または「文字列定数」の前に「L」のプレフィックスを使用する。
整数型short 16ビット符号付整数 -32768~32767
short int 型 (または short 型) は、char 型のサイズ以上、int 型のサイズ以下の整数型。
整数型int 32ビット符号付整数 -2147483648~2147483647
int 型は、short int 型のサイズ以上で、long 型のサイズ以下の整数型。
整数型__int n サイズが設定された整数 (n は整数変数のサイズ (ビット単位))。 n に使用できる値は 8、16、32、64 (__intn は Microsoft 固有のキーワードです)。
整数型long 64ビット符号付整数 -9223372036854775808~ 9223372036854775807
long 型 (または long int) は、int 型のサイズ以上の整数型。
整数型 long long unsigned long より大きい。
浮動小数点型float 32ビット単精度浮動小数点を扱う。
float 型は最小の浮動型。
浮動小数点型double 64ビット単精度浮動小数点を扱う。
「double」型は、「float」型のサイズ以上で、「long double」型のサイズ以下の浮動小数点型。
浮動小数点型long double 「long double」型は「double」と等しい浮動型。


Back



変数の有効範囲(スコープ)


変数の有効範囲を、「スコープ」という。
簡単に言えば、変数が使える範囲。
変数を宣言した場合、その変数がどこで有効なのかが決まっている。

変数の種類スコープ
ローカル変数 「内部変数」の別名「ローカル変数」。
変数を宣言した「{}(ブロック)」の中でのみ有効
ifなどの構文内での宣言された場合、有効範囲は、構文内のみ。
グローバル変数 関数外、ブロック{}外で、変数宣言したものがグローバル変数となる。
同一変数名の扱い 同じ名前の変数が、いくつもあった場合、最も内側の変数が使用される。
同じ名前のグローバル変数を呼び出したい時は、「::変数名」=「グローバル変数」として扱われる。


Back