typedef struct __namecard
{
char name[NAME_LEN];
char phone[PHONE_LEN];
}NameCard;

이라는 구조체가 있는데

int main()
{
NameCard nc;

nc.name = "adsadad";
nc.phone = "0101234";
}

이런식으로 초기화를 하려고하면 수정할 수 있는 Ivalu인가 뜨면서 초기화가 되지를 않는데요,

char name[20] = "asdsadad" 
이 식은 초기화가 되는데

왜 메인함수에 있는 저런 구문은 되질 않는건가요?

char name[20];
scanf("%s", name);

해서 이렇게하는것도 되는데 왜 main문처럼 저렇게하는건 안되나요?