형들 질문하나만할게 ㅜㅜ
char arr[28]; 로 배열을 선언하고
0부터 27까지 데이터를 넣엇는데 왜 오류가뜨지 ? 맨끝에 쓰레기값이들어가 ㅜㅜ
28개의 데이터를넣으려면 [28]로하면 되지않아? 28로할때는 안되고 29로하니까 되네 ;;
29로하니까 찝찝해서그래 ㅜㅜ
char arr[28]; 로 배열을 선언하고
0부터 27까지 데이터를 넣엇는데 왜 오류가뜨지 ? 맨끝에 쓰레기값이들어가 ㅜㅜ
28개의 데이터를넣으려면 [28]로하면 되지않아? 28로할때는 안되고 29로하니까 되네 ;;
29로하니까 찝찝해서그래 ㅜㅜ
데이터를 어떻게 집어넣은겨
쓰레기값이 들어간건 어떻게 확인했지?
28로하고 0부터 27까지 데이터를채워넣고 출력해보니까 끝에 무슨 이상한문자나오고.. 그렇게확인햇징 ㅜ
출력 형식은? %s? %c?
문자열이냐? \\0 들어갈 자리까지 포함한거냐?
C에서 문자열의 끝은 항상 (char)0 으로 끝나야 됨. 규칙임
출력형식은 %s 로햇고 \\0 포함해도 28자리 면 [28]로선언하는거아냐? [28]에 널이 들어가니까..
arr[28]을 읽거나 쓰면 논리적으로 잘못된 프로그램임
그럼 28문자를 넣으려면 원래 [29]로 선언하나요 ?
ㅇ 29바이트로 할당하고 28번째 공간에 0을 넣어야됨
아 혹시 정수 배열일때는 널이필요없으니까 [28]로하면 28개를 저장할수잇는데 문자열은 마지막에 널이잇으니까 29로해야되는거야??
어. 존나 더럽지?ㅋ
아오 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 지금까지 잘못알고잇엇네 ㅜㅜ 고마워요 cyluss 형님