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

C言語の識別子とは?命名規則と具体例をわかりやすく解説


識別子(Identifier)は、C言語で使用されるトークンの一つです。変数、定数、関数、配列、さらにユーザー定義型のデータなどを識別するために付ける「名前」のことを指します。

キーワード(if、while、intなどの予約語)は言語仕様上、特別な用途のために確保されているため、識別子として利用することはできません。一方、宣言済みの識別子は、以降のプログラム文中で対応する値を参照するために自由に使用できます。

また、文ラベル(statement label)と呼ばれる特殊な種類の識別子も存在し、こちらはgoto文でジャンプ先を指定する際に使用されます。

識別子の命名規則

識別子に名前を付ける際には、以下のルールを守る必要があります。

  • 識別子の名前は一意(ユニーク)である必要があります。

  • キーワード(予約語)は識別子として使用できません。

  • 識別子は英字またはアンダースコア(_)で始まる必要があります。

  • 空白文字(スペースなど)を含めてはいけません。

  • 特殊記号は使用できません。

  • 使用できるのは英字・数字・アンダースコアのみです。

  • コンパイラが区別できるのは先頭から31文字までです。

  • 大文字と小文字は区別されます(case sensitive)。

サンプルプログラム

以下は、実際のCプログラムの中でどの部分が識別子に該当するのかを確認できるサンプルコードです(入力された文字列内の母音と子音の数を数えるプログラム)。

/* 文字列内の母音と子音を数えるCプログラム */
#include <stdio.h>
int main(){
    char str[100];
    int i, vowels, consonants;
    i = vowels = consonants = 0;
    printf("\nEnter any String : ");
    gets(str);
    while (str[i] != '\0'){
        if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u'
        || str[i] == 'A' || str[i] == 'E' || str[i] == 'I' || str[i] == 'O' || str[i] == 'U'){
            vowels++;
        }
        else
            consonants++;
        i++;
    }
    printf("\n no of Vowels in the given String = %d", vowels);
    printf("\n no of Consonants in the given String = %d", consonants);
    return 0;
}

実行結果

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

Enter any String : Tutorials Point
no of Vowels in the given String = 6
no of Consonants in the given String = 9

プログラム中の識別子

上記のプログラムにおいて、識別子に該当するのは以下の変数名です。

  • str ― 入力された文字列を格納する配列名

  • i ― ループカウンタ兼インデックスとして使われる変数

  • vowels ― 母音の個数を保持する変数

  • consonants ― 子音の個数を保持する変数

補足として、標準ライブラリ関数のgets()はバッファオーバーフローを引き起こす危険があるため、現在では非推奨とされています。実務では、読み込む文字数を制限できるfgets()を使用することが推奨されます。

  1. C言語の型変換入門:暗黙的変換と明示的変換(キャスト)の違いを徹底解説

    あるデータ型を別のデータ型へ変換することを「型変換(type conversion)」と呼びます。C言語における型変換には、主に以下の2種類があります。 暗黙的な型変換(implicit conversion) 明示的な型変換(explicit conversion) 暗黙的な型変換とは 演算対象(オペランド)同士のデータ型が異なる場合、コンパイラが自動的に行う型変換です。 プログラマが特に指示しなくても、小さいデータ型から大きいデータ型への変換が自動的に実行されます。これを「型の昇格」とも呼びます。 int i,x; float f; double d; long int l;

  2. OLEDディスプレイとは?仕組みと種類(AMOLED・PMOLED)を徹底解説

    デジタルディスプレイ技術はここ数十年で劇的に進化してきました。各メーカーは、経済的で耐久性が高く、かつ優れた視聴体験を提供できるスクリーンの開発にしのぎを削っています。身の回りを見渡してみると、私たちが日常的に使う電子機器の多くは、LCD・LED・CRTといったタイプの画面を採用しています。しかし、これらの技術には「消費電力が大きい」あるいは「表示品質が十分ではない」という課題がありました。 こうした課題を克服するために生まれたのが、低消費電力でありながら高い輝度を実現できる新型ディスプレイ「OLED」です。本記事では、OLEDの基本構造から種類、メリットまでをわかりやすく解説します。 OLE