Как инициализировать указатель на структуру в C?

Учитывая эту структуру:

struct PipeShm
{
    int init;
    int flag;
    sem_t *mutex;
    char * ptr1;
    char * ptr2;
    int status1;
    int status2;
    int semaphoreFlag;

};

Это прекрасно работает:

static struct PipeShm myPipe = {.init = 0,.flag = FALSE,.mutex = NULL, 
       .ptr1 = NULL,.ptr2 = NULL,.status1 = -10,.status2 = -10, 
       .semaphoreFlag = FALSE };

Но когда я объявляю static struct PipeShm * myPipe, это не работает, я предполагаю, что мне нужно будет инициализироваться оператором ->, но как?

static struct PipeShm * myPipe = {.init = 0,.flag = FALSE,.mutex = NULL, 
       .ptr1 = NULL,.ptr2 = NULL,.status1 = -10,.status2 = -10, 
       .semaphoreFlag = FALSE };

Можно ли объявить указатель на структуру и использовать с ней инициализацию?

22
задан Mateusz Piotrowski 24 April 2017 в 20:48
поделиться