LINEで現役エンジニアに直接質問してみよう!登録無料

プログラミングの変数とは?型や箱などが分からない初心者向け解説

この記事の概要

プログラミングを学習すると「変数」という重要な仕組みが登場します。「変数」と聞くと「数学の変数(x,y)のことかな?」と想像してしまうでしょう。

数学の「変数」は式のまとまりを表す記号でしたが、プログラミングの「変数」はいわゆるデータを保存しておくための箱という違いがあります。

この記事では、イラストを使いながらプログラミングの変数について学習してくので、安心してください!

プログラミングの変数の解説を始める前に、初心者が勘違いして躓きやすいポイントを5つまとめたので、これを頭に入れながら読み進めてくださいね!

  1. 変数とはデータを保存しておくための「
  2. プログラムの=は、数学のように「等しい」という意味ではない
  3. プログラムの=は、値を変数に結びつけるという意味がある
  4. 変数の名前は何文字でもいい。自由につけることができる
  5. 変数を作るには「宣言」という書き方が必要

プログラミングの変数とは?

プログラミングの変数とは、データを保存しておくための「箱」のことです。

現実の「箱」には、おもちゃや本などを入れて保存しておくことが出来ますよね?あれが、プログラミングの世界でもあると考えてください。

但し、プログラムの箱(変数)1つにつき1つのものしか入れられない制限があります。

変数に入れるものは例えば、「数字」や「文字列」なんかを入れます。

  1. 数字」… 「0」「0.1」「3.14」など
  2. 文字列」…「こんにちわ」「鈴木イチロー」

また、「数字」や「文字列」など箱に入れるものを「値」と言います。

まとめると、「変数」とは「数字」や「文字列」なんかの「値」を保存しておく場所の事です。

プログラミングの変数の値は出し入れされる

変数は中身の情報を出し入れすることが出来ます。これは現実世界の「箱」と同じですね。

箱から「数字」や「文字列」なんかの値を出すことを「出力」といい、逆に入れることを「代入」といいます。

数学の用語とそっくりですが、意味は全く違いますね!(これが初心者を挫折する原因だと思います)

「出力」と「代入」は何回でも行うことが出来ます。

プログラミングの変数(箱)の作り方と使い方

プログラミングの変数を作るには「宣言」が必要になります。この解説は実際のコードを見たほうが理解が早いので、早速コードを確認していきたいと思います。

int price;
price = 110;
printf("%d", price);

こののコードでしていることは、

  • 1行目: 変数を宣言
  • 2行目: 変数に値を代入する
  • 3行目: 変数の値を出力する

詳しく順番に解説していきます。

1行目: 変数を宣言

int price;

これが、変数を宣言している部分です。

int「これから箱を用意しますよ!」という意味になります。

そして次にpriceですが、この部分は「priceという名前で変数を使います!」という意味になり、この名前の事「変数名」と言います。

最後の;は1文の区切り文字ですね。日本語でいう「句読点(。)」に相当します。

MEMO

先程、intが箱を用意する部分だと解説しました。しかし正確には「整数値しか入らない箱を用意します!」という意味です。

なんで整数値しか入らない箱に制限するのか。制限無しに入れられたら便利じゃないか?という疑問が出てくるかと思いますが、これに答えるには、「型」という別の概念が関わるので、この章では省略しています。

今は「箱を用意してるんだな」という理解でOKです!

なお、intinteger(整数)の略です。

2行目: 変数に値を代入する

price = 110;

この部分で変数に値を代入して、値を変数に入れて関連付けています。

この場合だと、priceという変数に110という値を関連付けていますね。

3行目: 変数の値を出力する

printf("%d", price);

この部分で変数に関連付けた値を取り出して、液晶画面に表示する処理です。

MEMO

この場合は、変数から値を取り出して液晶画面に出力する処理がprintfという一つの命令にまとまっています。それにpriceを入れると、printfが動き出すわけです。

なお、このように値から変数を取り出したり、液晶画面に出力したりなどのまとまった処理の事を、プログラミング用語で「関数」と言います。

数学の関数とは意味合いが違うので注意しましょう!

ここまでが変数の基本です。

この後は、変数に使われている「型」や、変数を使うにあたって注意するべき点など深い知識を解説していきます。

変数の型と種類

変数には種類があります。

  • 整数だけが入る変数
  • 少数だけが入る変数
  • 文字列だけが入る変数

このような変数の種類のことを「型」といいます。

プログラミング言語によって使う型は異なりますが、大抵下記のような代表的な型を使うことが出来ます。

  • 整数型(int): 一般的な整数を表す型
  • 浮動小数点型(float): 一般的な少数を表す型
  • 文字列型(string): 英語や日本語などの、いわゆるテキストを扱う型
  • 真偽値型(boolean): true/falseの2種類のみを持つ、条件の判定に使われる型
  • 参照型(オブジェクト型): メモリの位置を意味する型

プログラミング言語に型がある理由

「型」はプログラミング言語によって設定の設定の必要・不必要は変わっており、型の無い言語は実行速度が遅い傾向にあります。

プログラム側から見れば、型の無い変数は「数値型」なのか「文字列型」なのかを判断してから処理を行わなくてはいけません。変数を見つける度にそれが必要なのです。

一方、型のある言語はすでに「数値型」なのか「文字列型」なのかわかっているため、その型のある分処理する量が減り高速化が図れるわけです。

また、型が必要な言語では宣言時に決まってしまうので「今は整数だけが入る変数にして、後から文字列に変更しよう」というのは出来ません

変数名わかりやすい名前にしよう!

変数名はわかりやすいのにしましょう

変数名は自由につけることが出来ますが、ある程度規則性を持ってわかりやすい名前を付けたほうがいいです。

わかりやすい名前をつける理由

int price;
price = 110;

例えば、このコードのようにpriceという名前の変数だとすぐに「入っているデータは値段だ!」と分かりますよね?

int aaa;
aaa = 110;

これがaaaとかの変数だったらどうでしょうか?どんなデータが入っているのか想像しにくくなりませんか?

プログラムでは、誰が見てもわかるように書くのが何よりも重要です。そうすれば後々自分でメンテナンスする時も便利ですし、他人がソースコードを編集するのもやりやすくなります。

変数名はだれが見てもわかる名前にしましょう!

定数と変数の違いは?

変数と似たようなものに定数というのがあり、「中身のデータを変更できない変数」の事です。

変数は通常、=で代入することで値を書き換えることができます。

しかし、中には「消費税」など書き換えては困る変数も存在します。

そのような時、書き換えられない変数があれば便利ですよね?

それが「定数」です。定数を使えば、一度値を入れたら書き換えることは出来ません。


🚧ここから旧記事で只今改修中🚧


この記事を書いた人

自身がプログラミングを独学で勉強し始めて躓いた経験を元に、これから勉強をする人に向けに「イラスト多めでわかりやすい記事」にこだわって情報を発信しています。

現在はフルスタックエンジニアとしてサービス開発などのお仕事をしています。