第6講 簡易電卓ソフト作りに挑戦しよう
第3話 グローバル変数とローカル変数の解説

もう一度、グローバル変数とローカル変数の違いを見てみましょう。

グローバル変数
d1
ローカル変数
d2
後に学ぶことになりますが、
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
               int a1;
               int a2;
          ・
          ・
          ・

などの部品を関数と言います。
ローカル変数は、この関数内でしか通用しない変数です。
それに対して、グローバル変数は組んでいるプログラム全体で有効な変数です。
C言語は構造化プログラミングが徹底していて、
それぞれの部品である関数は、プラモデルの部品のように他の部品から完全に独立しています。
したがって、
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
               int a1;
               int a2;
          ・
          ・
          ・

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
              a1=5;
          ・
          ・
          ・

のようにプログラムを組んでビルドすると、
Void button2_Clickの a1は宣言されていない変数であるというエラーメッセージが出てきてしまいます。
同じ変数名 a1を使っていても、異なる関数では、別の変数と見なされるのです。
したがって、エラーを出さないためには、
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
               int a1;
               int a2;
          ・
          ・
          ・

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
       
int a1;
               a1=5;
          ・
          ・
          ・

としなければならないのです。

昔のBASICで学んだ人にとっては、不便に見えてもC言語の強さと良さはここにあります。
昔のBASICだと変数名が同じだと、他の部品で書き換えられてしまう心配があったのですが、
C言語では書き換えられてしまう心配がないので、現在対象にしている部品である関数のみの開発に専念すればよいのです。
昔のBASICなら、常にプログラム全体を見ていなければならないのに対して、
部品だけを見ていればよいのです。
部品を作った後、プラモデルを組み立てるように組み立てればよいのです。
部品をいろいろな人が担当して、分業できることを意味しています。
昔のBASICは部品の様々な部分がいろいろなところで結びついていて、分業することは不可能に近かったわけです。
しかも、昔のBASICの場合GO TO文でいろいろな部品の間を行ったり来たりしていたので、
プログラム全体がスパゲッティのように絡み合っていたのです。
それに対して、C言語では部品同士は完全に独立していて、
後はプラモデルの部品を組み立てるが如く、部品同士を組み立て行けばよいのです。
独立部品を組み立ててプログラミングすることを、構造化プログラミングと言います。
C言語は、構造化プログラミングが徹底していたのです。
かつてのBASICもVisal Basicになった今では、
欠点が完全に改善されてC言語に劣らない構造化プログラミングが可能になっています。
構造化プログラミングや関数については、第10講で学ぶ予定になっています。




第2話へ 第4話へ

d3
初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部

vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすい vb 入門 vba 入門 基礎から応用まで 第1部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ