🎯 0개 이상의 문자들의 묶음을 문자열(String) 이라고함!
//문자 단위는 불편하다😣
char str[8] = {'h','e','l','l','o'};
for(int i=0;i<5;i++){
printf("%c",str[i]);
}
//문자열 단위는 편하다😃
char str[8] = "hello";
printf("%s", str);
🎯 문자, 숫자, 공백, 특수 문자등 쌍따옴표로 감싸면 모두 문자열
char str1[8] = "Hello"
char str2[] = "Hello"
char str3[10] = "안녕" // 한글은 한 글자가 2byte 먹음
char str[20];
str[0] = 'h' //가능
str ="hello" //안됨!
1. null 문자는 명시하지 않지만 문자열 상수의 맨 마지막에 항상 포함
ex) char a = 'a' //[a], char str[] = "a"//[a][\0] 다르다
ex) char str1[] = {'h','e','l','l','o'} => 5개의 문자
ex) char str2[] = "hello" => 6개의 문자열 포함
ex) printf("%d",sizeof(str2)) 확인 ㄱㄱ
따라서, char str3[5] = "hello" 컴파일 에러다.
2. C언어에서 문자열이라 함은 배열의 크기와 관계없이 널 문자 까지 문자들의 묶음을 지칭함, 즉 배열의 크기가 아닌널 문자에 의해 결정됨
char str[8] = "hello";
printf("%c",str[2]);
printf("%s",str);
char str1[20] = "hello world";
for(int i=0;i<20;i++) printf("%c",str[i]);
printf("..\n");
pirntf("%s..\n");
char ch[201];
printf("200 자 이내로 입력해주세요 : ");
1.scanf_s("%s", ch, (int)sizeof(ch)); // & 표시 없이 scanf 입력받기
2.gets_s(ch) //gets_s로하기
printf("%s", ch);
return 0;