вывести элемент массива структуры с помощью указателя в c - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь напечатать значение массива, используя указатель на структуру этого массива, но я всегда получаю ошибку сегментации.

спасибо.

#include <stdio.h>

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


int main() {

    POINTS *pointsmain;

    pointsmain->x = 10;
    printf("%d",pointsmain->x);
    return 0;
}

1 Ответ

1 голос
/ 22 марта 2019

Вы получаете ошибку сегментации, потому что указатель острия указывает на ничто. Вы просто объявляете переменную указателя типа на POINTS. Для этого вы должны выделить память в куче. Это сделано

    POINTS *pointsmain = (POINTS*)malloc(sizeof(POINTS)); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...