データ型

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
馬鹿太郎

データ型

#1

投稿記事 by 馬鹿太郎 » 16年前

こんにちは。いつもお世話になっています。

質問なんですけど、

char name[7] = "abcdef";
これは
name[0] = 'a';
name[1] = 'b';
  ・
  ・
  ・
name[6] = '\0';
となりますよね。char型なので、それぞれの要素は1バイトですよね。

char name[9] = "田中一郎";
このnameも配列なので、要素をもっていますよね?
さっきのchar name[7] = "abcdef";の場合だと、name[0],name[1]が要素に当たりますよね。

でも、漢字の場合だと、要素を持つことができるのでしょうか?
name[0] = '田' ←?
漢字は2バイト必要ですよね・・・

質問は、char name[9] = "田中一郎";に関してです。
この場合は、どのようにして、メモリに格納されるのですか?

よろしくお願いします。

たかぎ

Re:データ型

#2

投稿記事 by たかぎ » 16年前

処理系に依存します。

例えば、char型が16ビット以上ある処理系では、漢字も1バイトで済む可能性があります。
また、漢字は2バイトとは限りません。具体的には、UTF-8の場合、通常3バイトが必要になります。

non

Re:データ型

#3

投稿記事 by non » 16年前

JISコードの場合なら前後にKI、KOコードがつきます。
従って、質問者はシフトJISのことを尋ねられていると思いますので、
シフトJISでググってもらえば、コード表があると思いますので、調べてください。

たかぎ

Re:データ型

#4

投稿記事 by たかぎ » 16年前

> 従って、質問者はシフトJISのことを尋ねられていると思いますので、

EUC-JPかもしれませんね(JIS第3、第4水準は3バイトですけど)。
あるいはコンパイラベンダーの独自コードとか。

閉鎖

“C言語何でも質問掲示板” へ戻る