こんにちは、次のコードがあります
#include <stdio.h>
#include <conio.h>
typedef struct test
{
int a;
int b;
int c[10];
}tester;
typedef struct done
{
tester* t;
int nn;
}doner;
void main()
{
doner d;
d.t = (tester*)malloc(sizeof(d.t));
d.t->a = 10;
d.t->c[0] = 10;
printf("%d\n", d.t->a);
getch();
return;
}
私は声明を考えます:
d.t = (tester*)malloc(sizeof(d.t));
は正しくありません:
d.t = (tester*)malloc(sizeof(tester));
しかし、このコードを実行してもクラッシュしません。その理由を教えてください。