[C] 문자열과 배열
2024. 7. 28. 19:00ㆍMemorizing/C
다른 글에서 배열 인덱싱 연산자에 대해서 다루었다.
그렇다면 왜 문자열에서는 배열과 동일하게 연산자가 동작할까 ? 아래의 코드는 정확하게 동일한 결과를 출력한다.
#include <stdio.h>
int main()
{
char ary[6] = "hello";
for(int i = 0; i < 5; i++){
printf("%c\n", ary[i]);
}
for(int i = 0; i < 5; i++){
printf("%c\n", "hello"[i]);
}
return 0;
}
컴파일러의 문자열 처리
컴파일러에서는 문자열 상수의 값을 문자열 배열로 처리하게 된다. 즉, 아래와 같이 표현할 수 있다. 그렇기 때문에 배열의 배열 인덱싱 연산자가 문자열 상수에서 동일하게 동작하는 것이다.
"hello" == char ary[6];
'Memorizing > C' 카테고리의 다른 글
[C] 배열 인덱싱 연산자 00 | 2024.07.28 |
---|---|
[C] 포인터 변수를 사용하는 swap 함수의 이해 00 | 2024.07.28 |
[C] 왜 scanf에서는 주소값을 인자로 받는가 ? 00 | 2024.07.27 |
[C] int 그리고 음수의 표현에 대한 이해 00 | 2024.07.27 |