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

C言語のトークンとは?キーワード・識別子・文字列の基礎を徹底解説

トークン(字句)とは、プログラムを構成する最小単位であり、コンパイラにとって意味を持つ要素のことです。C言語のソースコードは、これらのトークンの集まりとして解析されます。

C言語のトークンには、主に「キーワード」「識別子」「定数」「文字列」「演算子」などの種類があります。

ここでは、まずキーワードから順番に詳しく見ていきましょう。

キーワード(予約語)

キーワードは、C言語においてあらかじめ定義された予約語であり、それぞれが特定の機能や意味を持っています。これらの言葉を通じて、C言語の持つさまざまな機能を利用することができます。キーワードはコンパイラにとって特別な意味を持つため、変数名などの識別子として使用することはできません。

C言語のキーワードは全部で32個あります。以下の一覧をご確認ください。

autodoubleintstruct
breakelselongswitch
caseenumregistertypedef
charexternreturnunion
continueforsignedvoid
doifstaticwhile
defaultgotosizeofvolatile
constfloatshortunsigned

識別子

C言語のプログラムにおける各要素(変数、関数、配列など)につける名前を「識別子」と呼びます。識別子はユーザーが自由に定義できる名前で、英字・数字・アンダースコア「_」を組み合わせて構成します。ただし、キーワードと同じ名前を識別子として使うことはできません。

識別子の命名規則

  • 先頭は英字またはアンダースコアで始める必要があります。

  • 使用できるのは英字・数字・アンダースコアのみで、それ以外の特殊文字や句読点は使用できません。

  • 空白文字を含めてはいけません。

  • キーワードと同じ名前は使用できません。

  • 長さは最大31文字までです。

文字列

文字列とは、ヌル文字(\0)で終わる文字の配列のことです。このヌル文字によって、文字列の終端を示します。文字列リテラルは必ずダブルクォーテーション(" ")で囲みます。

C言語で文字列を宣言する方法は、主に以下の3通りがあります。

  • char string[20] = {'s','t','u','d','y','\0'};
  • char string[20] = "demo";
  • char string[] = "demo";

1つ目は文字を1つずつ指定する方法、2つ目と3つ目は文字列リテラルを直接代入する方法です。サイズを省略した場合、初期化する文字列の長さに応じて自動的に配列サイズが決まります。

サンプルコード

以下は、C言語におけるトークン(キーワード・識別子・定数・文字列)を使用した具体例です。

#include <stdio.h>
int main() {
    // キーワード char を使用
    char a1 = 'H';
    int b = 8;
    float d = 5.6;
    // 文字列の宣言
    char string[200] = "demodotcom";
    if(b<10)
    printf("Character Value : %c\n",a1);
    else
    printf("Float value : %f\n",d);
    printf("String Value : %s\n", string);
    return 0;
}

実行結果

Character Value : H
String Value : demodotcom

この例では、変数bの値が8で10未満であるため、if文の条件が真となり、文字型変数a1の値「H」が出力されます。そのため、else側のfloat型の値を出力する処理は実行されません。最後に、文字列stringの内容「demodotcom」が%s指定子によって表示されています。

  1. C#のトークンとは?キーワードと識別子の基本をわかりやすく解説

    トークン(Token)とは、プログラムを構成する最小単位の要素のことです。C#におけるトークンの代表例として、キーワードと識別子があります。それぞれの特徴とルールについて詳しく見ていきましょう。 キーワード(予約語)とは キーワードは、C#コンパイラによってあらかじめ定義された予約語です。そのため、変数名やクラス名などの識別子として使用することはできません。 ただし、どうしてもキーワードを識別子として使いたい場合は、キーワードの先頭に「@」記号を付けることで回避できます。例えば「@class」のように記述すれば、classという名前の変数を定義できます。 C#の主な予約キーワード一覧 ab

  2. 【Python入門】文字列が有効なキーワード(予約語)かどうかを確認する方法

    Pythonには、他の多くのプログラミング言語と同様に、予約語(キーワード)が存在します。これらの単語は言語仕様の中で特別な意味を持っており、制御構文や定義文などで使われます。そのため、変数名や関数名として利用することはできません。 本記事では、ある文字列がPythonの有効なキーワードであるかどうかを判定する方法を解説します。 keywordモジュールをインポートする 文字列がキーワードかどうかを調べるには、Pythonの標準ライブラリである keyword モジュールを使用します。まずは以下のようにインポートしましょう。 import keyword iskeyword()関数で判定する