#include <stdio.h>
#include <stdlib.h>
typedef struct{
double n;
}test_t;
int main(){
test_t *p;
double j = 0.05;
for (int i = 0; i < 10; i++){
p = (test_t*)malloc(sizeof(p) * i);
p[i].n = j;
printf("%f\n", p[i].n);
}
free(p);
return 0;
}
構造体の中の変数がint型で、入れる値もint型のときはうまくいくのですが、double型になるとうまくいきません。
三回目のforループでプログラムがとまってしまいます。
やはりmallocの使い方が間違っているのでしょうか?