通知
すべてクリア
Topic starter
2001年7月10日 9:56 PM
はじめましてkentaです。
VC++でプログラミングをしているのですが、引数からポインタを取得しようとしたところ、うまく動きませんでした。
以下がそのプログラムです(簡単に作り直しました)。
int c = 20;
void hoge(int *a, int *b);
int main(int argc, char* argv[])
{
int a = 0, *b;
hoge(&a, b);
printf(%d\n%d\n, a, *b);
getchar();
return 0;
}
void hoge(int *a, int *b)
{
*a = 30;
b = &c;
}
引数からポインタを取得するにはどうしたらいいのでしょうか?
初歩的な質問で申し訳ありません。
ご教授お願いします。
2001年7月10日 10:07 PM
おそらくこうしたいのでは?と思うコードを書いてみました
int c = 20;
void hoge(int* a, int** b)
{
*a = 30;
*b = &c;
}
int main(int argc, char* argv[])
{
int a = 0, *b;
hoge(&a, &b);
printf(%d\n%d\n, a, *b);
getchar();
return 0;
}
Topic starter
2001年7月10日 10:17 PM
kuさんのおっしゃるとおりにコードし直したところ、無事に目的の動作をしました。
ご教授ありがとうございました。