【最大10000ポイント】当たる!!質問投稿キャンペーン!

C言語の初歩的な事かもしれませんが、分からない点が
あります。

unsigned char*p;

と宣言されています。
このpに『0x01,0x02,0x03,0x04,0x05』や
『"ABCDEF"』を代入したいと思っています。

色々と検索してみたのですが、分かりません。
代入方法を教えていただけませんでしょうか?

A 回答 (1件)

>このpに『0x01,0x02,0x03,0x04,0x05』や


>『"ABCDEF"』を代入したいと思っています。

正確に言うと、配列『0x01,0x02,0x03,0x04,0x05』のアドレスや文字列『"ABCDEF"』のアドレスを代入
ということですね。
文字列の方は
p = "ABCDEF";
でできますよね。
配列の方は、今手元にCの環境がないので、ちょっと自信なしですが
p = {0x01,0x02,0x03,0x04,0x05};
でできないでしょうか?
    • good
    • 0
この回答へのお礼

p = "ABCDEF"で代入できました。
p = {0x01,0x02,0x03,0x04,0x05};はエラーが出力
されてしまうのですが、
p = "0x01,0x02,0x03,0x04,0x05";
とすると代入することができました。

ありがとうございます。

お礼日時:2004/01/08 17:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q変数に文字列を代入する方法を教えてください

VC++(MFCなし)です。

*str;
strcpy(str[0], "1234567");
strcpy(str[1], "abcd");

このようにアドレス変数に文字列を代入する方法を教えてください。
よろしくお願いします。

Aベストアンサー

No2です。
1点、漏れがありました。
char str0[xxx];
としたときの、xxxのサイズは上限があります。
上限を超えるとコンパイルエラーになるか、エラーにならない場合は、スタックオーバーフローが発生します。
この上限はコンパイラにより違います。
一般的には32Kバイトか64Kバイト以内の範囲で使用するのが安全です。
このサイズを超える場合は、mallocでメモリを確保するのが一般的です。


人気Q&Aランキング