第7講 社員(子分)

第6話 箱の生きている時間


#include<iostream>
using namespace std;
void wa();
void seki();

int main(){

  wa();

  seki();

}

void wa(){
  cout<<"1から10までの和=";
  int w,i;
  w=0;
  for(i=1;i<11;i++){
    w+=i;
  }
  cout<<w<<endl<<endl;
}

void seki(){
  cout<<"1から10までの積=";
  int w,i;
  w=1;
  for(i=1;i<11;i++){
    w*=i;
  }
  cout<<w<<endl<<endl;
}
(ローカル)の場合の箱の生きている時間の解答
c++
これを時間順に並べ返すと
#include<iostream>
using namespace std;
void wa();
void seki();

int main(){

  wa();

c言語

  seki();

入門

}


#include<iostream>
using namespace std;
void wa();
void seki();
int w,i;

int main(){

  wa();

  seki();

}

void wa(){
  cout<<"1から10までの和=";
  
  w=0;
  for(i=1;i<11;i++){
    w+=i;
  }
  cout<<w<<endl<<endl;
}

void seki(){
  cout<<"1から10までの積=";
  
  w=1;
  for(i=1;i<11;i++){
    w*=i;
  }
  cout<<w<<endl<<endl;
}
(グローバル)の場合の生きている時間の解答

初心者

これは時間順でもあります。

図にすると、グローバルの場合メモリーを無駄に消費していることがわかります。
グローバル変数の場合は、最初から最後までメモリー上に箱が存在しているのに対して、
ローカル変数の場合は、必要に応じてメモリーに存在しています。
グローバルの場合、劇の上演中常に舞台に上がっているのに対して
ローカルの場合は、役者(社員)が舞台に上がって、箱を生まれよと呪文を言った瞬間に舞台に登場し、
役者(社員)が舞台から降りるときに、一緒に舞台から降ります。
というより、役者が箱を持って降りるといった方が正確です。
箱は、手品師の箱のように、箱を作った役者(社員)が常に手にしているものです。
ですから、役者が舞台から降りれば、自動的に箱も舞台から降りてしまうわけです。

メモリーの節約の観点から、なるべくグローバル変数は用いないようにした方がよいことがわかります。

さて、今の例では社長(親分)のみが社員(子分)に命令を下していましたが、
実は、社員(子分)も他の社員(子分)に命令を下すことができます。

プログラムの文章を次のように変更したらどうなるでしょうか。
#include<iostream>
using namespace std;
void wa();
void seki();


int main(){

  wa();
  
//こちらはseki();がなくなっている。
}

void wa(){
  cout<<"1から10までの和=";
  int w,i;
  w=0;
  for(i=1;i<11;i++){
    w+=i;
  }
  cout<<w<<endl<<endl;
  
seki();
}

void seki(){
  cout<<"1から10までの積=";
  int w,i;
  w=1;
  for(i=1;i<11;i++){
    w*=i;
  }
  cout<<w<<endl<<endl;
}
実行画面を予想してください。



第5話へ 第7話へ

a

初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門