ページ 11

配列の値を別の関数へ渡したい。

Posted: 2009年10月10日(土) 20:31
by もちもち
タイトルにあるように配列の値を関数へ渡したいのですがエラーがでてしまいます。


例として下にブログラム文を書きます。
void nantoka(int *,int *);

int main(void)
{
   int a[3];

   a[0] = 1;
   a[1] = 2;

   nantoka(a[0],a[1])

}
適当にプログラム書きましたが、nantokaの部分に配列をいれてしまうとエラーがでてしまいます。

ポインタとして扱いたいのですが、どうすればよろしいでしょうか?

皆さんよろしくお願いします。

Re:配列の値を別の関数へ渡したい。

Posted: 2009年10月10日(土) 20:48
by pooka
nantoka(a[0],a[1])

nantoka(&a[0],&a[1]);
のようにしてください。

Re:配列の値を別の関数へ渡したい。

Posted: 2009年10月10日(土) 20:49
by Mato
 nantokaが定義されていないというのが1つありますが、それは無視していいんですよね多分
ポインタ的(?)には、a[n]は普通のintと同じです。
ですので、ポインタ渡しの“&a[n]”としたらいいんじゃないでしょうか。

 この例ですと、
nantoka(&a[0], &a[1]);
ですね。

Re:配列の値を別の関数へ渡したい。

Posted: 2009年10月10日(土) 22:20
by もちもち
pookaさん、Matoさんありがとうございます。

おかげでできました。