C에서는 boolean타입도 없지만 String타입도 없다.
boolean대신 int타입을 대신해서 사용했고, String타입 대신 char타입의 배열로 String을 표현한다.
char배열과 문자열의 구분은 문자열의 마지막에 '\0'의 유무로 판단한다.
char배열의 끝에 모두 0으로 채우는 '\0'이 있으면 문자열로 인식하고, 그렇지 않으면 char배열로 인식한다.
'\0'은 숫자로 해석 시 0이고, char로 해석 시 null로 해석하면 된다.
char배열에서 '\0'을 만나면 뒤에 남아있는 요소에 상관없이 해석을 끝마친다.
즉, 널문자를 이용하면 문자열을 파싱할 수 있다.
char str[10];
scanf("%s", str);
printf("%s", str);
scanf를 사용해 입력받을 때 문자열을 입력할 때는 &를 붙이지 않는다.
strcmp함수를 사용해 문자열을 비교할 수 있다.
str1 > str2인 경우 양수를, str1 < str2 인 경우 음수를, 같을 경우 0을 반환하고
길이가 1인 문자열끼리 비교 시 아스키코드를 기준으로 비교하며
길이가 1이 아닌 경우 사전 순으로 비교해 사전에 먼저 나오는 문자열이 더 작다고 판단한다.
계속 써오던 scanf로 문자열을 입력받으면, 공백도 문자열의 마지막으로 해석한다.
줄 단위로 문자열을 입력받으려면 gets함수를 사용해서 입력받자.