「Learn C on the Mac」という本を勉強しています。char データ型を 1 バイト データ型として定義します。char データ型の変数は 5000 などの整数を保持できないということですか? 私はこれに混乱しています。この本には、変数のデータ型をcharとして割り当て、変数に5000を割り当てるサンプルプログラムがあります。これは実際には長さ 5000 の文字列です。例: (文字評価[5000];)。char は ascii セットまたは数値しか保持できないと思いましたか? 申し訳ありませんが、私はプログラミングにかなり慣れていません。
4 に答える
char データ型を 1 バイト データ型として。char データ型の変数は 5000 などの整数を保持できないということですか?
Charは文字を指します。ご存じのとおり、char
変数は 1 バイトのスペースを保持します。したがって、正確に 1 つの数字または1 つの文字を保持できます。それ以上でもそれ以下でもありません。Char
値は 1 文字の値です。
つまり、char データ型の変数は5000 などの整数を保持できません。コンピューターのメモリに十分なスペースがありません。複数の文字を含む値を入力した場合 (例: 5000
)、最初の文字のみが受け入れられます。char
このようなデータを変数にフィードすることはできません。
このプログラムを使用して、理解を深めてください。
#include <stdio.h>
main()
{
char s;
scanf("%c", &s);
printf("%c", s);
return (0);
}
5000 と入力してみて、プログラムが出力として何を出力するかを観察してください。
char
変数に 5000 を指定して、変数のデータ型を として割り当てるサンプル プログラム。これは実際には長さ 5000 の文字列です。例: (文字評価[5000];)。
ご存じないかもしれませんが、文字列はchar
(つまり文字) の配列です。char rating[5000]
文字列データ型を宣言しています。5000の文字列、つまり 5000 文字の長rating
さの文字列として定義されます。ただし、値 5000 で初期化していません。間違った解釈:むしろ、のサイズを と宣言しています。char
rating
char rating='5000'
rating
5000
char はアスキー セットまたは数値しか保持できないと思っていました。
はい、アスキー部分については正しいです。char 変数は、いつでも任意の 1 つのascii 値を保持できます。文字、数字、および記号は、ASCII セットを構成します。ただし、数値はこの範疇には入りません。数値は大きさであり、必ずしも 1 桁で構成されるとは限りません。数字(つまり、0 から 9 までの数字) が正しい用語です。
要約すると、文字/アルファベットまたは数字/数字char
の値を格納できるデータ型です。文字列は のグループです。' a ' または ' 1 ' はデータにすることができますが、句または文はできません。文字のグループを変数に格納するには、string を使用します。あなたの人生を楽にするために、これらの簡単な事実を覚えておいてください。char
char