C言語の配列で漢字を保持する方法
C言語では、文字列配列を使用して漢字を格納できます。漢字はメモリ内で2バイト(Unicodeエンコード)を占有するため、文字列配列を使用して漢字を表すことができます。
サンプルコードを以下に示します。
#include <stdio.h>
#include <string.h>
int main() {
char chinese[4]; // 定义一个可以存放一个汉字的字符数组,多加一位用于存放字符串结束符'\0'
strcpy(chinese, "你"); // 将汉字赋值给字符数组
printf("汉字:%s\n", chinese);
printf("汉字的Unicode编码:%04x %04x\n", chinese[0], chinese[1]);
return 0;
}
結果は以下の通りです。
汉字:你
汉字的Unicode编码:4f60
上記のコードでは、文字配列chineseに漢字”你”を格納し、strcpy関数を使って漢字を文字配列に代入します。その後、printf関数を使って漢字とそのUnicodeエンコーディングを別々に表示します。
文字列配列の長さは漢字を格納する分だけ大きさを確保する必要があります。漢字は1文字当たり2バイト消費するので、文字列配列で漢字を格納する際には、文字列終端記号’\0’を格納する1バイト分余裕を持たせる必要があります。