ゾンビでもわかるC言語プログラミング

C言語入門者の応援をします

変数の基本

Index

1. 変数を使用するプログラム1

プログラミングの用語には、変数と言うものがあります。
次のコードを実行してみましょう。

 1  #include <stdio.h>
 2  
 3  int main() {
 4    int i;
 5  
 6    i = 3;
 7    printf("number is %d\n", i);
 8  
 9    i = 100;
10    printf("number is %d\n", i);
11  
12    return 0;
13  }

実行すると以下のような出力になるかと思います。

number is 3
number is 100

2. 変数とは

4行目の "i" が変数です。
変数の特徴は以下になります。

  • 型がある
  • 宣言することで使えるようになる
  • 使いまわすことができる

変数はある種の入れ物で、型にあったものを入れることができます。

3. 変数の宣言

変数を使用できるようにする宣言方法は以下になります。

型 変数;

上記コードの場合だと以下に当てはまります。

int i;

また、同じ型であれば、以下のように一行で複数宣言することができます。

int a, b;

以下は、型と入れられるものの対応表になります。

入れられるもの
int 整数
float 単精度浮動小数点数
double 倍精度浮動小数点数
char 文字
char* 文字列

この中でも、文字列は少し特殊になるので、文字列については後ほど説明します。

4. 変数へ値の代入

6行目では、i に 3 を入れ、
9行目では、i に 100 を入れています。
変数はこのように、格納されている値を交換することができます。

また、値を入れることを代入といい。
"="(イコール)記号で、左辺の変数に右辺の値を代入します。

変数は、以下のように宣言と値の代入を一行で行うこともできます。

int i = 100;

5. 変数を使用するプログラム2

以下のコードを実行します。

int main() {
  int i = 100;
  char c = 'c';
  char *s = "string"; // s に "string" を代入

  printf("%d %c %s\n", i, c, s);

  return 0;
}

実行すると以下のようになります。

100 c string

また、文字列は、以下のように変数に値を格納することができません。

char *s;

s = "abcd";

文字列型の変数に文字列を入れるには、以下のようにstrcpy関数を使用する必要があります。

#include <stdio.h>
#include <string.h>

int main() {
  char *s;
  strcpy(s, "ABCD"); // s に "ABCD" を代入

  printf("%s\n", s);

  return 0;
}

strcpyは、文字列を操作する関数であり、文字列を操作する関数を使用するには、2行目のように string.h をインクルードする必要があります。

書籍

新・明解C言語 入門編 (明解シリーズ)

新・明解C言語 入門編 (明解シリーズ)

苦しんで覚えるC言語

苦しんで覚えるC言語

やさしいC 第5版 (「やさしい」シリーズ)

やさしいC 第5版 (「やさしい」シリーズ)

C実践プログラミング 第3版

C実践プログラミング 第3版