자동으로 마지막에 \0이 삽입됨??
예를 들어 char c = "test"; 하면 c에는 "test\0"이 들어감??
vs에서 3바이트 char 배열에 '1~2글자 + \0' 조합으로 strcpy() 이용해서 문자열 넣어주는데 \0를 2바이트로 인식하는건지 배열범위 초과한다고 경고떠서 왜뜨는지 모르겟음
자동으로 마지막에 \0이 삽입됨??
예를 들어 char c = "test"; 하면 c에는 "test\0"이 들어감??
vs에서 3바이트 char 배열에 '1~2글자 + \0' 조합으로 strcpy() 이용해서 문자열 넣어주는데 \0를 2바이트로 인식하는건지 배열범위 초과한다고 경고떠서 왜뜨는지 모르겟음
해당 댓글은 삭제되었습니다.
ㄴㄴ "A+\0", "A\0" 같이 학점 넣엇슴
char 아니고 char*
아
문자자료형에 문자열을 저장하니 범위오류뜨지
char *c = "test"; 이렇게 하셈. 구리고 가급적 const char *c = "test"; 붙여주셈
const
ㄳㄳ
그래야 컵파일할 때 실수한거 있으면 에러 떨어짐. 예를 들면 c[0] = 'a'; free(c) 이럴 때 에려 떨어지라고 넣는거임.
그리구 c[0] = 'a'; 이런거 하고 싶으면 char *c = strdup("test"); c[0] = 'a'; free(c);
strdup은 처음알앗네 ㄳ
배열만들어서 집어넣는거면 끝에 널 없고 String으로 해서 넣느거면 끝에 널 있음