일단 {0, } 쓰는건 선언시 초기화할때만 되고(그 이후 줄에선 안됨), 프로그래밍이라는 문자를 담게되면 name[0]부터 [9]까지 프 로 그 래 밍 5글자가 각 2칸씩 차지(물론 인코딩에 따라 더 먹을수도 있음)한다. 그리고 맨 뒤에 NULL문자가 붙음. 프로그래밍\0. 뒤에 뭐가 더 있든 무시된다. - dc App
17번(wjd918273)2019-09-04 15:29
답글
만약 name에 "abcdefgh"를 넣었으면 실제로 들어있는건 abcdefgh\0임. 여기에 strcpy함수를 통해 "qqqq"를 넣는다고 하면 qqqq\0fgh\0이 들어가게 된다. 출력해보면 qqqq까지 출력되다가 뒤에 \0을 만나서 읽기를 종료하게 되고 - dc App
17번(wjd918273)2019-09-04 15:31
답글
결국 뒤에 뭐가 있든 무시하게 된다 - dc App
17번(wjd918273)2019-09-04 15:31
답글
본문에서 20칸 전부 0으로 초기화한 후 프로그래밍이라는 문자열을 대입하면 출력이 어떻게 되냐고 묻는 것 같은데, 위와 같은 이유로 프로그래밍 이라고만 나온다. - dc App
글따로달아봄
일단 {0, } 쓰는건 선언시 초기화할때만 되고(그 이후 줄에선 안됨), 프로그래밍이라는 문자를 담게되면 name[0]부터 [9]까지 프 로 그 래 밍 5글자가 각 2칸씩 차지(물론 인코딩에 따라 더 먹을수도 있음)한다. 그리고 맨 뒤에 NULL문자가 붙음. 프로그래밍\0. 뒤에 뭐가 더 있든 무시된다. - dc App
만약 name에 "abcdefgh"를 넣었으면 실제로 들어있는건 abcdefgh\0임. 여기에 strcpy함수를 통해 "qqqq"를 넣는다고 하면 qqqq\0fgh\0이 들어가게 된다. 출력해보면 qqqq까지 출력되다가 뒤에 \0을 만나서 읽기를 종료하게 되고 - dc App
결국 뒤에 뭐가 있든 무시하게 된다 - dc App
본문에서 20칸 전부 0으로 초기화한 후 프로그래밍이라는 문자열을 대입하면 출력이 어떻게 되냐고 묻는 것 같은데, 위와 같은 이유로 프로그래밍 이라고만 나온다. - dc App