-
문자열의 초기화, 변경에서 왜 컴파일 오류가 발생할까?프로그래밍/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()라이브러리를 사용한다.
char str[10] = "Hello";
strcpy(str,"World");
#include<stdio.h> 헤더 선언 필수!! 필자도 많이 사용하는 방식이다.
'프로그래밍 > C' 카테고리의 다른 글
포인터에 문자열을 초기화, 변경하기 (0) 2020.12.31