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문처럼 저렇게하는건 안되나요?
nc.name 하면 거기 주소가 나오잖어
strcpy를 써야징
envil 형님 이해가 잘 가지 않는거신디요..
배열을 저장하고 있는 변수는 포인터상수라고 안 배웠나
상수에다 값 대입할라니까 오류를 내뿜는거임
네 형님 알고 있습니다 본문 소스에서 name 이라는 이름 자체가 포인터 상수라고 알고 있습니다..
아,,,
상수에다가 값을 쳐넣을라카니까 안되는거군요,,
스트링라이브러리 사용해라