c
-
문자열의 초기화, 변경에서 왜 컴파일 오류가 발생할까?프로그래밍/C 2020. 12. 31. 15:24
흔히들 문자열을 초기화하기 위해 가장 쉬운 방법으로 char str[10] = "Hello"; str = "World"; 를 생각할 것이다. 사실 이는 문법 적인 오류를 가지고 있다. 여기서 str = "World"; 는 "World"문자열을 배열에 저장하는 것이 아닌, 배열을 가르키는 주소에 대입 하는 것이기 때문이다. 그러면 올바는 초기화, 변경의 방법에는 무엇이 있을까? 1. 문자 배열 원소에 원하는 문자 하나하나 대입한다. char str[10] = "Hello"; str[0] = 'W'; str[1] = 'o'; str[2] = 'r'; str[3] = 'l'; str[4] = 'd'; str[5] = '\n'; 하나 하나 대입하는것이 매우 불편 하지만 매우 확실한 방법이다. 2. strcpy(..