PDA

View Full Version : Cにおいて関数に変数を渡す


nen-nen
2002/05/16, 04:17 PM
こんにちは、ねんネンです。

すごい基本的な質問で申し訳ありません。
GCCにおいて、関数に変数を渡すとき
unsigned型で渡したいのですが
int(unsigned char *hoge)
でわたるのでしょうか?

dayan
2002/05/16, 05:51 PM
*はいりません。
*を書くとhogeさんは「unsigned char」ではなく、「unsigned charを指すポインタ」になります。

dutch
2002/05/16, 06:18 PM
もし、unsigned で渡すとき(char * → unsigned char * の変換)は、
char *b;
a( (unsigned char*) b);
という風にすればいいんじゃない??

経験上、
int a(char *tmp) {
unsigned char* hoge=(unsigned char*)tmp;

という風に関数を定義した方が使いやすいと思うけど・・・。

ちなみに、* を無くすと、一文字しか渡せませんよ。

nen-nen
2002/05/16, 06:50 PM
なるほど、char型で変数(のポインタ)を渡して
関数内でunsigned char型にキャストすれば良かったんですね……

まだC言語系は勉強不足ですねぇ……
ありがとうございました。やってみます♪