以下のようなプログラムを作りましたがうまくいきません。
関数bにて配列の一番最初の出力を行ってますが
printfの最初のみ正しく出力があり
それ以降は値がおかしくなります。
その原因として
ローカル変数であるA
が関数aの終了とともに消えてしまっているのではないかと考えています。
アドバイス頂けたらと思います。
よろしくお願いいたします。
long* a();
void b(long* hairetu);
int main(){
long* hairetu;
hairetu = a();
b(hairetu)
}
a(){
int A[100];
for (int i = 0; i < 100;i++ ){
A[i] = i;
}
return A;
}
b(long* hairetu){
printf("配列 %d\n",hairetu[0]);
printf("配列 %d\n",hairetu[0]);
printf("配列 %d\n",hairetu[0]);
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/26 11:41
2020/01/26 11:59 編集