문자열 변수와 문자열 상수

2020. 5. 18. 16:25C

C에서 문자열을 표현하는 방법은 크게 두 가지가 있다.

 

char str[5] = "abcd";    //문자열 변수

char *str2 = "ABCD";     //문자열 상수

 

-문자열 변수

5칸짜리 char형 배열 str을 선언하고 0부터 a를 저장

배열의 가장 마지막칸인 str [5]는 null값을 저장하고 있다.

 

-문자열 상수

대입 연산자의 왼쪽에 char형 포인터를 선언하고, 오른쪽에는 "ABCD"라는 문자열을 선언하고 있다. 이는 포인터 str2를 이용해서 문자열 상수 "ABCD"를 가리키겠다는 의미가 된다. 따라서 str2는 문자열의 첫 문자 'A'를 가리키게 된다.

결과

abcd

ABCD

오류

 

str은 변수이므로 값을 고쳐도 문제가 없지만 str2는 상수이기 때문에 변경 시 오류가 발생한다.

 

 

'C' 카테고리의 다른 글

strcpy  (0) 2020.05.18
LED(발광 다이오드)에서 레지스터(저항)이 필요한 이유  (0) 2020.05.06
음극과 양극  (0) 2020.05.06