c언어에서 1) 만약 char a[] ="abc"; 이렇게 저장하면 실제 a는 a[2]을 만들지 않고 null문자를 포함해 a[3]를 만든다. 즉 a배열은 a[3] = "abc\0"; 이게 된다. 2) char* a = "abc"; 이것 역시 마찬가지로 "abc(\0)"을 뜻한다. 3) 만약 char a[2] ="abc"; 이렇게 저장하면 a[0] = 'a'; a[1] ='b'; a[2] ='c'; 이렇게 저장하지만 printf(“%s\n”, a); 출력을 해보면 #include int main() { char a[3] = "abc"; printf("%s\n", a); } 위와 같이 abc가 뜨나 %s 자체가 null까지 읽어야하는데 null이 없는 문자열을 출력하므로 abc 끝에 저렇게 된다. 따라서 ..