カテゴリ: C言語 更新日: 2026/01/09

C言語のchar型を完全ガイド!初心者でもわかる文字型とASCIIコードの基本

C言語の文字型(char)とASCIIコードの関係
C言語の文字型(char)とASCIIコードの関係

先生と生徒の会話形式で理解しよう

生徒

「C言語で文字を扱うには、どんな書き方をすればいいんですか?」

先生

「C言語では、文字を扱うときにcharというデータ型を使います。」

生徒

「数字を扱うintとは何が違うんでしょうか?」

先生

「文字は見た目は記号ですが、パソコンの内部では数値として記録されています。そのしくみを理解すると、C言語の文字型がもっと分かりやすくなりますよ。」

1. C言語の文字型とは?

1. C言語の文字型とは?
1. C言語の文字型とは?

C言語の文字型はcharと呼ばれ、ひとつの文字を保存できるデータ型です。ひらがな、カタカナ、英語、記号などの文字は、パソコンの内部では実は数値に置き換えて処理されています。例えば、'A'という文字は六十五、'a'は九十七の数値として扱われます。文字と数値の変換は自動で行われるため、プログラミング初心者でも難しく考える必要はありませんが、仕組みを知るとデバッグやエラー解決でとても役に立ちます。

文字型を使うときは、必ず一文字をシングルクォートで囲みます。ダブルクォートは文字列という別の扱いになるため、ここでは使用しません。たとえば、'A''7'は正しい書き方ですが、"A"は別のデータ型として認識されます。


#include <stdio.h>

int main(void){
    char c = 'A';
    printf("%c\n", c);
    return 0;
}

2. ASCIIコードのしくみと文字の関係

2. ASCIIコードのしくみと文字の関係
2. ASCIIコードのしくみと文字の関係

パソコンは文字を直接理解できないため、文字と数値の対応表を使って処理を行います。その代表的な仕組みがASCIIコードという規格です。ASCIIコードは、英語や数字を中心とした文字を数値で表現したもので、プログラミング言語や通信の世界で長いあいだ使われ続けています。

例えば、'A'は六十五、'B'は六十六と順番に番号が割り当てられています。数字も同じで、'0'は四十八、'1'は四十九です。このように、文字型は内部で整数として扱われているため、文字を使った比較や計算も可能になります。


#include <stdio.h>

int main(void){
    char a = 'A';
    int n = a; 
    printf("%d\n", n);
    return 0;
}

65

このように、文字型の変数を整数として出力すると、その文字に対応するASCIIコードの数値が表示されます。プログラミング初心者は、パソコンが文字ではなく数値で処理していることを知ると、条件式や繰り返し処理で文字を扱うときに理解しやすくなります。

3. char型のメモリサイズと保存できる値の範囲

3. char型のメモリサイズと保存できる値の範囲
3. char型のメモリサイズと保存できる値の範囲

char型は一バイトの大きさで、最大二百五十六通りの値を扱えます。これは、一兆のような大きい桁の数値は保存できないという意味ですが、ひとつの文字であれば十分です。パソコンが扱う数値の単位はバイトと呼ばれ、八個の〇と一で記録されます。八個で二の八乗になり、二百五十六通りの組み合わせになります。

ただし、英語や数字は一文字で保存できますが、日本語はひらがなや漢字が多く、ひとつでは入りません。そのため、日本語を扱う場合はマルチバイト文字という別の仕組みを扱う必要があります。今回の記事では、基本となる英語アルファベットと数字に集中して理解を深めます。

4. 文字と数値の計算ができる理由

4. 文字と数値の計算ができる理由
4. 文字と数値の計算ができる理由

文字型が内部で数値として扱われる仕組みを理解すると、文字を使って大小比較や計算ができる理由が分かります。例えば、'A'は六十五、'Z'は九十なので、アルファベットの並び順そのままに比較ができます。


#include <stdio.h>

int main(void){
    char c = 'A' + 1;
    printf("%c\n", c);
    return 0;
}

B

このように、一つ右の文字を求めたり、逆に一つ左の文字を求めたりすることもできます。文字を扱うプログラムでは、この仕組みを利用して暗号や文字検索など、実用的な処理を作り出すことができます。

5. charと文字列の違いに気をつけよう

5. charと文字列の違いに気をつけよう
5. charと文字列の違いに気をつけよう

プログラミング初心者がよくつまずくのは、'A'"A"の違いです。前者はひとつの文字、後者は文字列です。文字列は複数の文字をまとめて扱うため、実際には配列という仕組みで管理されます。C言語の文字列はcharの並びで作られ、その末尾には〇を意味する特別な記号が入ります。今は文字型を理解する段階なので、ひとつの文字は必ずシングルクォートで囲むことだけ覚えておけば大丈夫です。

6. ASCIIコード表を使うメリット

6. ASCIIコード表を使うメリット
6. ASCIIコード表を使うメリット

ASCIIコード表を使うと、アルファベットや数字がどの番号と対応しているのか簡単に調べられます。プログラミング初心者でも、文字の規則性が分かるとエラー調査が簡単になります。例えば、大文字と小文字は三十二の差があるため、'A' + 32'a'に変換できます。メールやファイル名のチェック、パスワード判定など、文字を扱う場面はとても多いため、この知識は将来必ず役に立ちます。

カテゴリの一覧へ
新着記事
New1
C++
C++の変数のスコープと有効範囲を完全解説!初心者でもわかる基本と考え方
New2
C++
C++とは?歴史と特徴を初心者向けに解説!Rustとの違いとモダン言語比較
New3
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
New4
Rust
Rust開発環境をLinuxで構築する方法とおすすめ設定を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.2
Java&Spring記事人気No2
C言語
C言語の関数定義と呼び出しを完全ガイド!初心者でも分かる基本の書き方
No.3
Java&Spring記事人気No3
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.4
Java&Spring記事人気No4
C言語
Makefile入門:C言語プロジェクトを自動ビルドしよう!初心者でも分かる仕組みと使い方
No.5
Java&Spring記事人気No5
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作
No.6
Java&Spring記事人気No6
C言語
C言語の開発環境をWindowsに構築する方法【Visual Studio編】
No.7
Java&Spring記事人気No7
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.8
Java&Spring記事人気No8
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】