第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;
}
(ローカル)の場合の箱の生きている時間の解答
これを時間順に並べ返すと
#include<iostream>
using namespace std;
void wa();
void seki();
int main(){
wa();
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話へ
初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門