4) 문자열 비교

문자열 비교

#include <stdio.h>
int main(void)
{
char *s = "EMMA";
printf("%p\n", s);
}

위 코드를 실행하면 EMMA의 시작인 E의 메모리 주소만을 출력하게 된다.

EMMA를 출력하기 위해선

printf("%c\n", s[0]);
printf("%c\n", s[1]);
printf("%c\n", s[2]);
printf("%c\n", s[3]);

또는

printf("%c\n", *s);
printf("%c\n", *(s+1));
printf("%c\n", *(s+2));
printf("%c\n", *(s+3));

을 사용할 수 있다.


즉 문자열을 비교하기 위해선 문자열이 저장된 변수를 그대로 비교해선 안된다.

그대로 비교하게 되면 변수가 저장되어 있는 주소를 비교하게 되기 때문이다.


note

written by Caution-Sun