Pointers 在c中使用指针打印结构的数组项

Pointers 在c中使用指针打印结构的数组项,pointers,struct,Pointers,Struct,我试图使用指向数组结构的指针打印数组的值,但我总是遇到分段错误 谢谢 #include <stdio.h> typedef struct{ int x; int y; }POINTS; int main() { POINTS *pointsmain; pointsmain->x = 10; printf("%d",pointsmain->x); return 0; } #包括 类型定义结构{ int x; int

我试图使用指向数组结构的指针打印数组的值,但我总是遇到分段错误

谢谢

#include <stdio.h>

typedef struct{
    int x;
    int y;
}POINTS;


int main() {

    POINTS *pointsmain;

    pointsmain->x = 10;
    printf("%d",pointsmain->x);
    return 0;
}
#包括
类型定义结构{
int x;
int-y;
}点数;
int main(){
点*pointsmain;
点SMAIN->x=10;
printf(“%d”,pointsmain->x);
返回0;
}

由于指针主指针未指向任何内容,因此出现分段错误。您只需声明指向点的指针类型的变量。您必须为此在堆上分配内存。这是由

    POINTS *pointsmain = (POINTS*)malloc(sizeof(POINTS));