我定义了两个结构。点和三角形,我想在主函数中用随机值初始化它们。但是这一行的编译器出了问题,停了下来。问题是什么?
#include <cmath>
#include <ctime>
struct Point{
double x;
double y;
double z;
};
struct Triangle{
Point* a;
Point* b;
Point* c;
};
int main() {
Triangle t1;
srand(time(0));
t1.a->x=10.0*(rand()/RAND_MAX)-5; //this line gives Segmentation fault
t1.a->y=10.0*(rand()/RAND_MAX)-5;
t1.a->z=10.0*(rand()/RAND_MAX)-5;
t1.b->x=10.0*(rand()/RAND_MAX)-5;
t1.b->y=10.0*(rand()/RAND_MAX)-5;
t1.b->z=10.0*(rand()/RAND_MAX)-5;
t1.c->x=10.0*(rand()/RAND_MAX)-5;
t1.c->y=10.0*(rand()/RAND_MAX)-5;
t1.c->z=10.0*(rand()/RAND_MAX)-5;
}
Run Code Online (Sandbox Code Playgroud)