[問2]上記プログラムでは固定された100個のstruct rocker型の配列を準備して実行していますが、もしユーザが指定する個数が100を超えたらSegmentation faultを起こして止まってしまいます。これを改良して次のようにしてみよう。
int main() {
int N;
struct rocker *Rockers;
scanf("%d", &N);
Rockers = alloc_rockers(N);
set_rockers(Rockers, N);
display_rockers(Rockers, N);
}
上記赤色で示した関数
struct rocker *alloc_rocker(int length)
はmalloc()関数を使ってlength個のロッカー配列を割り付ける関数です。