プログラミング言語 | 変数 | 有効範囲 |
---|---|---|
C言語 | ローカル変数 |
「ローカル変数」は、 宣言された関数の内側のみが「有効範囲(スコープ)」となっている。 有効範囲は、宣言した「関数」内のみなので、 他の「関数」からは利用ができない。 |
グローバル変数 |
「グローバル変数」は、 関数の外側で宣言された変数で、 有効範囲は、プログラム全体。 どの関数からも「グローバル変数」を呼び出すことができる。 変数宣言する場所は、 「ヘッダーファイルの呼び込み」の記述と 「main関数」の記述の間で、 プログラムの最初に宣言する。 | |
静的変数 |
「ローカル変数」とは違い、 「静的変数」は、 「関数」を呼び出す度に初期化されずに、 「値」を保持できるのが特徴。 「静的変数」にするには、 宣言の時に、「静的変数」の宣言をすること。 「静的変数」を使用するには、 使用したい関数内で、 「static 型名 変数名;」 と宣言するだけ。 「静的変数」にすることで、 プログラム中に、 同じ関数を「複数回」呼び出されても、 最後に呼び出された時の 「静的変数」の「値」を保持してくれる。 「静的変数」は、 プログラムの「開始処理時」に「一度」だけ「初期化」される。 | |
同一変数名の扱い |
同じ名前の変数が、ローカル変数とグローバル変数にある場合、 ローカル変数の有効範囲内では、ローカル変数が優先され、グローバル変数は使用できない。 | |
C++ | ローカル変数 |
変数を宣言したブロック{}の中でのみ有効 ifなどの構文内での宣言された場合、有効範囲は、構文内のみ。 |
グローバル変数 |
関数外、ブロック{}外で、変数宣言したものがグローバル変数となる。 | |
同一変数名の扱い |
同じ名前の変数が、いくつもあった場合、最も内側の変数が使用される。 同じ名前のグローバル変数を呼び出したい時は、「::変数名」=「グローバル変数」として扱われる。 |
変数の宣言 | |
---|---|
C言語 | 型 変数名; |
C++ | 型名 変数名; |
変数の代入 | |
C言語 | 型 変数名; |
C++ | 型名 変数名; |
変数のポインタを参照 | |
C言語 | &変数 |
C++ | |
変数の代入 | |
C言語 | 変数名=値 |
C++ | 変数名=値 |
NULL(ヌル) | 空ポインタ定数 |
NUL(ナル) | /0=値0の文字 |
型 | 宣言と代入 |
---|---|
(signed) char |
宣言のみ char ch1, ch2; 宣言と代入(初期化) char ch1 = 'A'; 代入(16進数で4Chを代入) ch2 = 0x4C; 文字の宣言 Char a; 文字列の宣言 Char a[30]; |
unsigned char | |
(signed) short (int) | |
unsigned short (int) | |
(signed) long (int) | |
unsigned long (int) |
宣言のみ unsigned long l; 代入(long型lに'C'のASCIIコード4Chを代入) l = 'C'; |
(signed) int |
宣言のみ int a, b; 代入(aとbに100を代入) a = b = 100; 整数の宣言 int a; |
unsigned int | |
float |
宣言のみ float f; 代入 f = 3.1415; |
double |
宣言のみ Double a; |
データの種類 | 型 | 意味 |
---|---|---|
C言語 | ||
整数 | (signed) char |
1Byte -128~+127 |
整数 | unsigned char |
1Byte 0~+255 |
整数 | (signed) short (int) |
2Byte -32768~+32767 |
整数 | unsigned short (int) |
2Byte 0~+65535 |
整数 | (signed) long (int) |
4Byte -2147483648~+2147483647 |
整数 | unsigned long (int) |
4Byte 0~+4294967295 |
整数 | (signed) int |
2Byte or 4Byte (signed) short (int)もしくは(signed) long(int)と同じ |
整数 | unsigned int |
2Byte or 4Byte (signed) short (int)もしくは(signed) long(int)と同じ |
小数 | float |
4Byte 仮数部232、指数部28 |
小数 | double |
8Byte 仮数部252、指数部211 |
C++ | ||
論理型 | bool | プール値(true または false)を扱う |
整数型 | char |
8ビット符号付整数 0~255 MBCS(MultiByte Character Set)の文字を扱う。 |
文字型 | wchar_t |
ワイド文字「Unicode(16ビット)」の文字を扱う。 C言語にはない型。 |
整数型 | short | 16ビット符号付整数 -32768~32767 |
整数型 | int | 32ビット符号付整数 -2147483648~2147483647 |
整数型 | long | 64ビット符号付整数 -9223372036854775808~ 9223372036854775807 |
浮動小数点型 | float | 32ビット単精度浮動小数点を扱う |
浮動小数点型 | double | 64ビット単精度浮動小数点を扱う |