その実装だと誤動作するよ。自動変数で調べてね。
以下のいずれかの修正をしてもらう必要がある。
�@
void getData(*****) {
. static int data[N][M];
}
�Aソースを分割して、
static int data[N][M];
void getData(*******);
�B
malloc つかう。