why
-
[C언어] 문자는 되는데 문자열은 안된다.오래된/C언어 2009. 4. 4. 21:48
개요 배열에 문자열을 넣으면 왜 제대로 들어가지 않는 것일까. 포인터를 선언하고 동적할당을 받은뒤 문자열을 해당 주소에 넣으려고 하면 왜 제대로 들어가지 않는 것일까. 동일한 두가지 질문에 대한 답같은것(?)을 포함하고 있다. 본론 char buf[20]; buf = "abcd"; printf("%s\n", buf); >위 소스를 컴파일 하고 실행하면 이상한 값들을 볼 수 있다. char * buf; buf = malloc(20) *buf = "abcd"; printf("%s\n", buf); >위 소스를 컴파일 하고 실행하면 이상한 값들을 볼 수 있다. char buf[20]; buf[0] = 'a'; buf[1] = 'b'; buf[2] = 'c'; buf[3] = 'd'; printf("%s\n",..