C言語プログラミングにおける定数と変数の主な違いは、定数は変数と似ていますが、変数がデータを保持するメモリ位置であるのに対し、一度定義するとプログラムによって変更することができないということです。
C言語は、デニス・リッチーによって開発された構造化プログラミング言語です。
ループ、関数、ポインタなど、さまざまなプログラミング構造を持つ。
定数と変数を定義することは、プログラムを書くための最初のステップです。
定数は固定値を指し、定義後は変更することができない。
一方、変数は、特定のメモリ上の位置を特定するための名前です。
プログラマーは変数に値を代入し、プログラム全体でその変数を使用することができる。
各変数は特定のデータ型を持っています。
整数を格納するために宣言された変数を、浮動小数点値を格納するために使用することはできません。
C言語プログラミングにおける定数とは
定数とは、定義した後では変更できない固定値のことです。
リテラルとも呼ばれます。
定数には、さまざまなデータ型があります。
整数定数、浮動小数点数定数、文字定数、列挙定数などがあり得ます。
C言語では、定数を定義する方法は2つあります。
C言語では、#defineプリプロセッサーを使う方法と、constキーワードを使う方法があります。
以下は、#defineプリプロセッサを使って、円の面積を計算するプログラムです。
このプログラムでは、定数Radiusと定数PIを定義しています。
これらは冒頭で定義されています。
これらの値はプログラムの中で変更することはできません。
RADIUSとPIは定数です。
コンパイラはこれらの定数に割り当てられた値を使って面積を計算する。
同じようにconstキーワードを使った例を以下に示します。
図2:constキーワードによる定数の定義
RADIUSとPIは定数です。
コンパイラは割り当てられた値を用いて、円の面積を求める。
また、enumを使用して定数を定義することもできます。
以下の例を参照してください。
enum week {sun, mon, tue, wed, thurs, fri, sat};
weekは変数、sun, mon, tueなどは列挙型定数です。
それぞれ0,1,2,3などの値を持っています。
C言語プログラミングにおける変数とは?
変数とは、データを格納する容器のことです。
記憶領域を識別するための名前です。
すべての変数には、それを識別するための固有の名前がついています。
変数名には、大文字、小文字、数字、アンダースコアを使用できます。
変数には意味のある名前を使うのがよい方法です。
C 言語は大文字と小文字を区別する言語です。
したがって、変数名の width は WIDTH とは異なります。
変数は特定のデータ型を格納することができる。
int’ 変数は整数(5,20など)を格納することができる。
char’は’A’、’a’などの一文字を格納することができる。
また、’float’は単精度浮動小数点数、’double’は倍精度浮動小数点数を格納するために使用されます。
以下の例を参照してください。
int width = 10;
width’は整数を格納できる変数です。
値としては10が代入される。
char letter = ‘K’;
char letterはcharデータ型を格納できる変数で、値’K’が代入されている。
double area = 30.25;
変数areaは倍精度浮動小数点を格納することができます。
この変数には30.25が代入されています。
以下のプログラムを参照してください。
widthとlengthは整数を格納できる変数です。
値として10と20が割り当てられている。
これらの変数の値から,面積と周囲長を計算する。
最後に、その結果がコンソールに表示される。
全体として、変数はメモリの場所を象徴的に表現したものです。
変数の値は後で変更することが可能である。
C言語プログラミングにおける定数と変数の違い
定義
定数は、通常の実行中にプログラムによって変更されない値であるのに対し、変数は、値を含む関連するシンボリック名と対になる記憶場所です。
機能性
定数は変数と似ているが、一度定義するとプログラムでは変更できない。
一方、変数はデータを保持する容器または記憶領域です。
変更点
定数は、一度定義するとプログラム側で変更することはできません。
変数は、一度定義すれば、プログラムによって変更することができます。
結論
C言語プログラミングにおける定数と変数の違いは、定数は変数と似ていますが、変数がデータを保持するメモリ上の位置であるのに対し、一度定義するとプログラムによって変更することができないことです。
簡単に言うと、定数は実行中に変更することができない特殊な変数です。