課題のヒント

さっぱりわからない人へ

配列を使うとき、「int a[10];」のように宣言しました。 malloc はこれとよく似たことをする別のやり方だと思ってください。 mallocを使う場合と配列を使う場合との対応を具体的に書くと、配列の場合は
 int a[10];

 ...
 (aを使ったなんらかの処理)
 ...

のところを malloc (とfree)に置き換えて
 int *a;
 a=(int *)malloc(sizeof(int)*10);
 if (a==NULL) {
   printf("Cannot allocate memory.\n");
   exit(1);
 }

 ...
 (aを使ったなんらかの処理)
 ...

 free(a);
とすればいいのです。なお、プログラムの最初に #include <stdlib.h> を書く必要もあります。