int main(void)
{
 char ch[6];
 strcpy(ch, "abcdefg");

 char *cp;
 cp = new char[6];
 strcpy(cp, "abcdefg");

 return 0;
}

 

왜 윗놈 ch는 오류가 나는데 ("abcdefg"가 char[8]형이니까)

근데 아랫놈 cp는 오류가 안나는거지??

 

그리고 질문또하나

 

그리고 왜 int 변수나 클래스 객채의 배열은

[6]붙으면 변수나 객체 6개 선언되는 뜻인데

 

char 만 [6]붙이면 6개의 char 변수 선언이 아닌, char 변수의 "초기화가능한 문자의 길이" 가되는거임?

왜 혼자서 다른형들의 배열과는 완전히 다른차원의 개념을 갖고있는건지 의문 ;;

 

누구 개념좀 잘 잡아주시면 감사