5.変数 |
|
変数は、数学で習うxやyのようなものです。
変化する数字をxやyのようにキーワードで扱えるようにしたものが変数です。
|
変数の型宣言 |
int x;
この文章で、int型のxという変数が出来上がりました。
[型] [区切り] [キーワード] [ ;]
[型]
使いたい変数に合った型を選んで書きます。
特に目的がなければ、intで大丈夫でしょう。
[区切り]
宣言する時、型とキーワードの間に区切りを入れなければなりません。
もし区切りを入れなければ、「intx」というキーワードと理解されます。
すると、どこでも宣言されていないキーワードなので、「このキーワードは宣言されていません。」というエラーが出ます。
[キーワード]
自由にキーワードを決めてください。
[ ;]
文章の終わりをあらわします。
|
キーワード |
キーワードは半角英数と「_」(アンダーライン)を使うことができます。
頭の文字を数字にはできません。
例をいくつか書きます。
1A × //最初が数字はダメ
a& × // 半角記号はアンダーライン以外ダメ
A1 ○
A1A ○
saisyonitukuttahennsuu001 ○
KonnanodemoDaijoubu ○
konna_key_word_mo_daijoubu ○
|
ノートを例にした説明 (変数とアドレス) |
 |
ちょっと詳しい説明 (変数とアドレス) |
私のホームページは、あるアドレスにあります。
ホームページアドレスは、本当は0と1の長い番号です。
ただ覚えにくいので、 キーワードが付けられているのです。
http://lacc.biz
は、私のページを探すためのキーワードです。
変数のキーワードもこれに似ています。
宣言されると、PC上のアドレスに変数の格納場所を確保します。
変数名(キーワード)は、メモリ上のアドレスを探すためのキーワードと考えていいと思います。
|
グローバル変数とローカル変数 |
変数は、宣言される場所によって、有効範囲が異なります。
関数内で宣言された変数は、その関数内だけで有効です。ローカル変数
関数外で宣言された変数は、すべての範囲で有効です。グローバル変数
[ 例 ]
int g_hennsu; //グローバル変数 すべての範囲で有効
kansu()
{
int hennsu; //ローカル変数 kansu()関数内だけで有効 関数を出るとき破棄される。
//g_hennsuは、ここでも有効
}
main()
{
int hennsu; //ローカル変数 main() 関数内だけで有効 関数を出るとき破棄される。
//g_hennsuは、ここでも有効
}
二つの関数内で hennsuが宣言されています。
同じ名前ですが別の変数です。
Cの時代、グローバル関数とローカル関数を気にしてプログラムを作っていました。
しかし、C++からクラスが使えるようになったので、昔ほどの重要さはなくなっています。
|
静的変数と自動変数 |
関数内で宣言されているにもかかわらず、関数外に出ても破棄されない変数があります。
それでいて、有効範囲は関数内だけです。
それが静的変数です。
static int X;
このように、static[区切り]を宣言の前に書きます。
staticを付けないものはすべて自動変数になります。
関数外でも、その内容を保持されます。
この機能は便利ですが、なるべく使わないほうがいいかもしれません。
プログラムがわかりにくくなる上、どんどんメモリに残っていきます。
大量に使うと、プログラムが起動している間、だんだん使えるメモリを減らすことになります。
無料C++ページで、goto文の説明をまったくしていませんが、それに似た感じです。
今はまだ、説明もしにくいものなので、後々実際のプログラム上で試してください。
説明する機会があれば説明します。 |