C言語のconst修飾子(定数修飾子)とは?使い方とメリットを解説
C言語におけるconst修飾子とは
C言語では、const修飾子を使うことで、変数を定数として宣言できます。つまり、一度初期化された変数の値は、その後プログラム内で変更することができません。
constを使うことには非常に大きなメリットがあります。例えば、円周率(PI)のような固定値を扱う場合、プログラムのどの部分からもその値が書き換えられては困るはずです。このような場合にconstを付けて宣言しておけば、意図しない値の変更をコンパイル時に検出して防ぐことができます。
また、const修飾子付きの型で宣言されたオブジェクトは、コンパイラによって読み取り専用メモリ領域に配置されることがあります。さらに、プログラム内でそのオブジェクトのアドレスが一度も参照されない場合は、メモリ上に格納されないことさえあります。
サンプルコード
#include<stdio.h>
int main() {
const int x = 10;
x = 12;
return 0;
}
実行結果
[Error] assignment of read-only variable 'x'
上記の例では、constで宣言した変数xに対して新しい値12を代入しようとしているため、「assignment of read-only variable 'x'(読み取り専用変数への代入)」というコンパイルエラーが発生します。
このように、const修飾子を活用することで、定数の値を誤って変更してしまうバグを未然に防ぎ、より安全で信頼性の高いコードを書くことができます。
-
JavaScriptのconstとletの違いを徹底解説!ブロックスコープ変数の基本と使い方
JavaScriptにおけるconstとletの基本const と let は、ES2015(ES6)で導入された変数宣言用のキーワードです。どちらもブロックスコープ(波括弧 { } で囲まれた範囲)に対応しているのが特徴で、関数スコープしか持たなかった従来の var とは異なる挙動を示します。両者の大きな違いは再代入の可否です。letで宣言した変数は後から何度でも値を再代入できますが、constで宣言した変数は再代入しようとするとエラー(TypeError)が発生します。letとconstの主な違い項目letconst再代入可能不可(エラー発生)スコープブロックスコープブロックスコープ宣言時
-
HTMLのvalue属性とは?使い方とサンプルコードをわかりやすく解説
HTMLのvalue属性は、HTMLドキュメント内で要素の初期値(デフォルト値)を定義するための属性です。この属性は、button、input、meter、li、option、progress、paramといったHTML要素に対して使用できます。value属性はフォームやUIコンポーネントにおいて重要な役割を果たします。例えば、input要素では入力欄にあらかじめ表示されるテキストを指定でき、meter要素やprogress要素では現在の進捗状況を数値で表現できます。構文value属性の基本的な構文は以下のとおりです。<tagname value="text">