第3講 変数を理解しよう
第1話 変数とは?
変数というと、ここでも苦い顔をする方もいらっしゃるかもしれませんが、
全然苦手意識をもつ必要はありませんよ。
変数とは、数や文字を入れる箱です。
関数のときと同じで、変数にも型=タイプがあります。
整数を入れる型のint型、文字を入れるchar型などの変数があります。
では、コードを次のように変更してみましょう。
#include<iostream>
#include<string>
using namespace std;
using namespace System;
void f1();
void f2();
void f3();
void f4();
void main(){
cout<<"変数の型について"<<endl;
f1();
f2();
f3();
f4();
}
void f1(){
Console::Write("C言語の学習");
}
void f2(){
Console::WriteLine("は楽しい。");
}
void f3(){
int a;
a=1;
Console::WriteLine(a);
}
void f4(){
string b;
b="心";
cout<<b<<endl;
}
コンソールに出力させるのに、Console::WriteLine("変数の型について");同様な働きをもつものに、
cout<<"変数の型について"<<endl;というものがあります。
(ただし、coutはC++の関数です。)
Ctrl+F5でビルドしてみると、
Console::WriteLine("変数の型について");と入力した場合と同じです。
cout<<"変数の型について"<<endl;
最後の<<endlは改行を意味します。
改行させない場合は、
cout<<"変数の型について";
とします。
cout<<b
でbという変数に入っているものを表示させるのです。
sting型ではConsole::WriteLine(b);を使うとエラーします。
これからは、int型でもstring型でも対応しているcoutを使うことにします。
#include<iostream>
using namespace std;
の2つは、coutを使うために
また、
#include<string>
は、stringを使うために必要なお呪いであると思ってください。
int a;とstring b;(stringもC++の変数)が変数の型宣言です。2つは、それぞれ
aというラベルが張ってある整数を入れる箱を用意する、
bというラベルが張ってある文字を入れる箱を用意する、
という意味です。
いろいろな入門書は、これをint a_integer;やint data;のように英単語で書くことを推奨していますが、
箱を用意してそれにラベルを貼ったにすぎません。
変数名には、箱のラベル以上の意味はありません。
ですが、初心者は意味があると思ってしまい、大きな壁になることを入門書の著者たちは理解していません。
大事なことは、ラベルにあるのではなく箱自体にあるです。
引っ越しのときに、下着を入れた段ボール、本を入れた段ボール、などに下着や本とマジックに書き込みますね。
マジックで書き込んだ文字と変数名は同じです。
他と区別できればよいのであって、a_integerやAthreadのようなかっこつけた名前にする必要はさらさらないのです。
関数名でもそうです。bool isPrime(int n)などとかっこつけたものにする必要はありません。
例えば、bool f(int n)でよいのです。fが関数名です。
bool isPrime(int n)のように書いてしまうと、
初心者には予約語(C言語の文法で意味の定められた言葉)のboolやintと自由に決められるisPrime
との違いがわからなくなってしまいます。
ほんの些細なことであると、入門書の著者たちは思っているのでしょうが、
初心者は、小さなことで躓いてしまうものなのです。
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)