Структуры в Си (Xcode). Не могу присвоить значения полям структуры. В чем проблема?

Не понятно в чем заключается проблема. Не могу присвоить полям структуры значения. Пробовал и так, и эдак. Не выходит... Такая проста штука вроде бы, но что-то я упускаю, Xcode ругается.

#include <stdio.h>


typedef struct
 {
     char name[50];         // Имя
     char surname[50];      // Фамилия
     char patronymic[50];   // Отчество
 } FCs;
 typedef struct
 {
     char street[100];      // Улица
     int house;             // Дом
     int apartament;        // Квартира
 } Adress;

 typedef struct
 {
     int bYear;             // Год рождения
     Adress adr;            // Структура адреса
     FCs fcs;               // Структура ФИО
 } General;

General j = {1999, {"Proletarskaya"}, 100, 1, {"Ivan"}, {"Ivanov"}, {"Ivanovich"} };  // Не получается
j.adr = {"Proletarskaya", 100, 1};  // Так тоже не выходит


int main()
{
    return 0;
}

Ошибки, которые показывает компилятор


Ответы (2 шт):

Автор решения: bulka_s_makom

Моя проблема была решена путем удаления лишних скобочек в литералах. Странно, ведь я пробовал удалять их, но ничего не выходило. Магия, чистая магия. ?

→ Ссылка
Автор решения: AlexGlebe

В первом случае нужно фигурные скобки ставить правильно. Во втором : команды могут находится только в теле функции. Справа после присвоения в фигурных скобках вы создаёте временную структуру и потом её присваиваете полю j.adr. Этой временной структуре нужно указывать её тип в скобках.

General j = {1999, {"Proletarskaya", 100, 1}, {"Ivan", "Ivanov", "Ivanovich"} };

int main()
{    
    j.adr = (Adress){"Proletarskaya", 100, 1};
    return 0;
}
→ Ссылка