C言語では、char型データのメモリ上への格納形式は「ASCIIコード」です。 C言語では、文字定数を文字変数に入れることは、実際に文字そのものをメモリユニットに入れるのではなく、文字に対応するASCIIコードを記憶ユニットに入れることになります。
#このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。
C言語では、char型データのメモリ上への格納形式は「ASCIIコード」です。 #チュートリアルの推奨事項: 「
c 言語チュートリアル ビデオ
#」
c 言語の文字型
文字データ型は、文字です。
1. 文字データの表現
文字データは、一重引用符で囲まれた文字です。例:
'a'、'b'、'='、' '、'?' はすべて有効な文字データです。
C 言語では、文字データには次の特徴があります。
文字データは一重引用符でのみ囲むことができ、二重引用符や他の括弧で囲むことはできません。
文字データには、文字列ではなく単一の文字のみを使用できます。
文字には、文字セット内の任意の文字を使用できます。ただし、数値を文字型として定義した後は、数値演算に参加できなくなります。たとえば、「5」と 5 は異なります。 「5」はキャラクターデータなので操作に参加できません。
#エスケープ文字
エスケープ文字は特殊文字です。エスケープ文字はバックスラッシュ「\」で始まり、その後に 1 つ以上の文字が続きます。エスケープ文字は、文字の本来の意味とは異なる特定の意味を持つため、「エスケープ」文字と呼ばれます。
エスケープ文字は主に、通常の文字では表現することが難しい制御コードを表すために使用されます。
#一般的に使用されるエスケープ文字とその意味
| エスケープ文字
エスケープ文字の意味 |
ASCII コード |
| \ n
Enter と改行 |
10 |
| \t
次のタブの位置に水平にジャンプします |
9 |
| \b
#Backspace
|
8
|
##\ r |
入力 | 13 |
\f |
用紙フィード | 12 |
##\\
| #バックスラッシュ文字"\"
##92
|
\' |
一重引用符文字 |
#39
|
##\” |
二重引用符文字 |
#34
| ##\a | リング | 7
##\ddd |
1 ~ 3 の 8 進数で表される文字 |
|
\xhh |
1 ~ 2 桁の 16 進数で表される文字 | # #####################################2. 文字型指定子
文字変数の型指定子は char です。文字変数型に定義されている形式と記述規則は、整数変数の場合と同じです。例:
char a,b;
3. メモリ内の文字変数の保存形式と使用法
各文字変数には 1 バイトのメモリ領域が割り当てられるため、1 文字しか格納できません。文字値は、ASCII コードの形式で変数のメモリ ユニットに格納されます。
たとえば、x の 10 進 ASCII コードは 120、y の 10 進 ASCII コードは 121 です。 「x」と「y」の値を文字変数 a と b に代入します:
a='x';
b='y';
は、実際には 120 と 121 のバイナリ コードをユニット a と b に格納します。
#例: 文字変数に整数を代入します。
#include<stdio.h>
int main(void)
{
chara,b;
a=120;
b=121;
printf("%c,%c\n",a,b);
printf("%d,%d\n",a,b);
return0;
}
ログイン後にコピー
このプログラムでは文字型としてaとbを定義していますが、代入文では整数値を代入しています。結果から、a と b の値の出力形式は、printf 関数の書式文字列内の書式文字に依存します。書式文字が "c" の場合、対応する出力変数の値は文字 文字になります. フォーマット文字が「d」の場合、対応する出力変数の値は整数になります。
#これからわかります:
(1) 小文字の ASCII コードは大文字の ASCII コードより 32 大きいです
(2) 次の ASCII コードは前の ASCII コードより大きいです
(3) '3' を 3 に変更するには、'3' が必要です-'0'= 3
4. 文字列
文字列は、二重引用符のペアで囲まれた一連の文字です。例: 「CHINA」、「C プログラム」、「$12.5」などはすべて有効な文字列です。
文字列と文字は異なります。これらの主な違いは次のとおりです:
文字は一重引用符で囲まれ、文字列は引用符で囲まれます。二重引用符で囲みます。
文字は 1 文字のみですが、文字列には 1 つ以上の文字を含めることができます。
文字データを文字変数に割り当てることはできますが、文字列を文字変数に割り当てることはできません。
文字は 1 バイトのメモリ空間を占有します。文字列が占めるメモリのバイト数は、文字列のバイト数に 1 を加えたものと等しくなります。追加したバイトには文字「\0」(ASCIIコードは0)が格納されます。これで文字列記号の終わりです。
たとえば、メモリ内で文字列「C プログラム」が占めるバイト数は次のとおりです: 10 バイト
文字 'a' ただし、両方ともたった1文字と文字列「a」では、メモリ内の状況が異なります。
'a' はメモリ内で 1 バイトを占有し、「a」はメモリ内で 2 バイトを占有します。
プログラミング関連の知識の詳細については、次を参照してください: プログラミング教えます! !
以上がC言語におけるchar型データのメモリ上での格納形式は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。