Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語の定数(const)とは?基本構文から種類・実行例まで徹底解説

定数(Constant)とは、一度値を定義するとプログラムの実行中にその値が一切変わらないものを指します。固定値を参照するために、変数を定数として宣言することができます。定数は「リテラル」と呼ばれることもあります。C言語では、const キーワードを使用して定数を定義します。

定数の基本構文

C言語で定数を宣言する際の基本的な構文は以下の通りです。

const 型 変数名;
または
const 型 *ポインタ変数名;

定数の主な種類

C言語で扱われる定数には、以下のような種類があります。

  • 整数定数 … 例:1、0、34、4567

  • 浮動小数点定数 … 例:0.0、156.89、23.456

  • 8進数・16進数定数 … 例:16進数は 0x2a、0xaa など/8進数は 033、024 など

  • 文字定数 … 例:'a'、'B'、'x'

  • 文字列定数 … 例:"TutorialsPoint"

これらの定数の分類は、次のような図で整理できます。

C言語の定数(const)とは?基本構文から種類・実行例まで徹底解説

サンプルコード①:定数を使った計算

以下は、定数の値を使って数値を計算するC言語プログラムです。

#include<stdio.h>
int main(){
   const int number=45;
   int value;
   int data;
   printf("enter the data:");
   scanf("%d",&data);
   value=number*data;
   printf("The value is: %d",value);
   return 0;
}

実行結果

上記のプログラムを実行すると、次のような出力が得られます。

enter the data:20
The value of number is: 900

このプログラムでは、入力された値(20)に定数 number(45)を掛けた結果が表示されます。なお、もし const で宣言された number の値を変更しようとすると、コンパイルエラーが発生します。

サンプルコード②:定数を変更しようとした場合のエラー

次のプログラムは、const で宣言した定数の値を変更しようとしたときにエラーになる例です。

#include<stdio.h>
int main(){
   const int number=45;
   int data;
   printf("enter the data:");
   scanf("%d",&data);
   number=number*data;
   printf("The value of number is: %d",number);
   return 0;
}

実行結果

このプログラムを実行すると、次のようにエラーが出力されます。

error

このように、const キーワードで宣言された定数に対して代入を行うと、コンパイラによってエラーとして検出されます。これは、定数の値がプログラム実行中に不変であることを保証するための仕組みです。

  1. C言語で評価される式の種類とは?6種類の式を徹底解説

    C言語における「式」とは?式(expression)とは、演算子とオペランドを組み合わせたものを指します。オペランドは演算の対象となるデータ項目であり、演算子はそのデータに対して具体的な操作を実行する役割を担います。例えば、次のような式を見てみましょう。z = 3 + 2 * 1 z = 5この場合、「3」「2」「1」がオペランドであり、「*」(乗算)や「+」(加算)が演算子として機能し、最終的に z には 5 が代入されます。C言語で使われる式の種類C言語で評価される式には、主に以下の6種類があります。1. 主式(一次式 / Primary Expressions)オペランドが識別子(変数名

  2. C言語の探索アルゴリズム解説|線形探索と二分探索の違いと実装例

    探索(サーチ)とは、複数の要素で構成されるリストの中から、目的の「キー」となる要素を見つけ出す処理のことです。 リストの中に指定した要素が存在すれば、その探索は「成功」とみなされます。 指定した要素がリストに存在しなければ、その探索は「失敗(不成功)」となります。 C言語で広く使われている代表的な探索手法は、主に次の2つです。 線形探索(Linear Search/リニアサーチ) 二分探索(Binary Search/バイナリサーチ) 線形探索(Linear Search)とは 線形探索は、リストの先頭から順に要素を1つずつ取り出し、キーと一致するかどうかを確認していく、最も基本的な探