
No.1ベストアンサー
- 回答日時:
とりあえず、確認を。
C では、'a'の表す値は 0x61 = 97 であって、 \x97 ではないと思います。
(\xnnn を、十六進数の意味に取りましたが、あってますでしょうか?
この場合、C では通常 0xnnn のように書くと思います。)
ので、 これは 0x61 のことをおっしゃっていると仮定します。
> char h[1] = c;
っと、これではたぶんコンパイルが通りません。
char h[1] = {c};
のように、配列であることを明示して代入してください。
この式では、前半でh という名前の、*長さ1 の* char の配列変数を確保します。
後半で、その中を初期化しています。
添え字は 0 からはじまるので、この場合、h[0] に c の内容が代入されます。
1個しか場所を確保していないので、 h[1] の位置のデータは内容が不定です。
文字列として h を扱いたいのであれば、 C の文字列には終端として 0 が必要ですから、
char c = 'a';
char h[2] = { c, '\0'};
のような書き方が必要になります。
これで、お望みのデータになると思います。
この回答へのお礼
お礼日時:2001/12/09 21:32
\x97 は書き間違えと16進に直すのも忘れていました。
h[1] までを使うためには、h[2] で宣言しないと
いけなかったんですよね。よく間違えるんだけど
言われるまで気づきませんでした。
= {c}
というの書式は初めて使いました。
やりたかったことはできました。
ありがとございます。
char型のものを char *型に代入する場合も
= {c}
が使えたのはうれしかったです。
char c = 'a';
char *p = {c};
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CStringからchar*への型変換に...
-
char AA[]{"全角文字"};から"全...
-
文字列の連結
-
警告
-
char型にint型の数値を代入する。
-
SubStringの使い方について
-
小数点入りの文字列をfloat型に...
-
ポインタ配列
-
文字列のswap
-
続ポインタによる関数への配列渡し
-
C言語ポインタ 配列について
-
Cの関数の引数のconst *charに...
-
関数から配列を返すには?
-
C言語 配列の長さの上限
-
c言語
-
C++DLLからC#へのコールバック...
-
データ数が多い場合のソート
-
c言語 構造体
-
n番目に大きい数を求めるアル...
-
リスト構造のソートで悩んでま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringからchar*への型変換に...
-
C言語のintとcharの違いってな...
-
char*を初期化したいのですが
-
char型にint型の数値を代入する。
-
C言語にて構造体のメンバがNULL...
-
C++17で、unsigned char * 配列...
-
new charとnew char[N]の違いは?
-
入力された文字列の中の数字を...
-
char 文字列型 の表現範囲が-12...
-
文字列str内の全ての数字を...
-
C言語のプログラムについてです
-
ポインタ配列
-
fstream型オブジェクトを関数の...
-
strcat関数を自作したいです
-
動的メモリの初期化方法について。
-
ポインタで詰まりました;
-
c言語でポインタ変数を用いた配...
-
C++Builder 2009 テキスト...
-
C言語 strstrの実装
-
fgetc( )の戻り値はなぜ整数??
おすすめ情報