1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【C言語超入門(第8回)】変数や関数の名前の付け方を学ぼう

Pocket

前回のC言語超入門(第7回)では、字下げや改行、スペース文字を使って「人間にとって」読みやすいプログラムを書きましょう、ということをお伝えしました。

同様に、変数名や関数名も、人間が理解をしやすいように、意味のある文字列を使うようにしましょう。

次の「※プログラム1」と「※プログラム2」を見比べてみてください。

※プログラム1

※プログラム2

いかがでしょうか。

「※プログラム1」と「※プログラム2」は、変数名が異なるだけで、同じ処理を行うプログラムです。
でも「※プログラム2」の方が読みやすく感じたのではないでしょうか。

「※プログラム1」と「※プログラム2」はどちらも、2020年がうるう年か否かを判断し、うるう年なら「★」を出力するプログラムです。
コンピューターにとっては、変数名が「a」であろうが「year」であろうが、ひとつのint型の変数でしかありません。

でも人間にとっては大きく違います。
変数名が「year」であれば、無意識に「年」の情報を格納する(格納されている)変数だと判断します。

「無意識」というところがポイントです。

「※プログラム3」を見てください。

※プログラム3

「※プログラム3」も「※プログラム2」と同様に、2020年がうるう年か否かを判断し、うるう年なら「★」を出力するプログラムです。
このプログラムを見て、混乱しませんでしたか。

「※プログラム3」のような変数名の付け方は、非常に人間のミスを誘発しやすいため、絶対にやめましょう。関数名も同様です。

●名前に使用できる文字
人間が理解しやすい意味のある変数名や関数名にするためであっても、変数名や関数名に使用できる文字種や文字数には制限がありますので気を付けてください。

まず、名前に使用できる文字は次の63文字に限られます。

 0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
_

大文字と小文字のアルファベット、数字、下線記号の63文字です。
記号は下線記号のみ使用できます。
マイナス記号やピリオドなどの記号は使えないことに気を付けてください。

では上記の63文字の組み合わせなら、どのような名前でも付けられるのかといいますと、残念ですが3つの制約があります。

1つ目の制約は、C言語の「予約語」は名前として使えないということです。

予約語とは次のとおりです。

auto  break  case  char  const  continue
default  do  double  else  enum  extern
float  for  goto  if  int  long
register  return  return  short  signed
sizeof  static  struct  switch  typedef
union  unsigned  void  volatile  while

2つ目の制約は、数字から始まる名前は使えないということです。

なぜなら、数字から始まる名前ですと、数値なのか変数なのか区別が付かないためです。
例えば、0xff と記述をしますと、C言語では16進数のFF(10進数で255)を意味します。

3つ目の制約は、名前は31文字以内にする必要があるということです。

分かりやすい名前を付けることは、とても良いことですが、C言語では31文字以上の名前を認識することができません。

※これらの制約は開発環境によって多少異なることがあります。

■■C言語超入門の第8回まとめ

さて、名前に使用できる文字についてご理解いただけましたでしょうか。

いくつかの制約があるにせよ、とても自由度が高いと思います。
名前の付け方がよいと、プログラムの読みやすさが、ぐっと増します。
分かりやすい名前を付けることは、プログラマーとして腕の見せ所のひとつです。

読みやすいプログラムほど、プログラム・エラーが少ない傾向があります。
プログラムを書くときは、ぜひ分かりやすい名前を付けるように心がけてくださいね。

ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る