配列を返り値にするような関数を作りたい

グローバル変数を使うのは癪に障るのだけど、他にやり方が思い付かん。読み込みは、

int array (int q[], int NN);
int main () {
  int q[NN]={n1, n2, ..., nN}
  return 0;
}
int array (int q[], int NN) {
  hogehoge;
  return 0;
}

ってやれば良いのは知ってる。がしかし、q[]を返す方法を知らない。教えて偉い人ーー。


あんまし考えもせずに組んだプログラムが上手いこと走ったっす。
うまくいってる原因は、きっとプログラムを書くときに行数を詰めようとか、無駄を省こうという意識を少し下げたことによると思う。
極端かもしれないけれど、前までは、二回以上出てくる文は全部サブルーチンにぶちこむなんていうこともやってたし、演算子と変数の間の余白も、勿体無いとかいってなくしてた。
きっとそういう些細な所の面倒臭がりと貧乏根性で今まで上手く行かなかったんだろうなあ。今回上手く行くようになったのは良い経験になった。別に知識が増えたわけじゃないけど、こういうスタイルで書くとミスが減るっていうのが学べた。
とか書いてるけど、これって全部TAしてる授業で先生が書いたプログラムのスタイルを真似っ子しただけなんだよな。S原先生はグレートだ*1


あー配列の値返しはポインタ使ったらでけた。コメントくださった方、有難う御座います。そして一連のプログラムは完成した。結果もまあ、良好。滑らかだ。
あとは他の計算機に移植して、それぞれ異なるパラメータで比較する作業が残ってる。これはもう単純にスタンプラリーみたいなもんですな。
若しくは膨大な量のデータをCDに焼いて一つの機械で管理するとか。それが一番楽だなあ。でもCD-Rのメディアを自腹で買う気にはなれない。所詮もとの.cファイルなんて高々100行なんで、それをftp鯖に置いといて、色んなところから参照して、結果だけどこかに集めるのが現実的かなあ。つってもこの手の走り回る仕事は今はする気になれないから来週に回す。

*1:そして思いのほかお茶目だ。最近体に気をつかって自転車通勤してるんだってさ。