c언어 scanf 함수를 이요해 문자열 입력 받을 시 질문 있습니다.
슬아라
2025.05.28
#includestdio.h
int main(void)
{
char str[100];
printf(문자열 입력 : );
scanf(%s, str);
printf(입력된 문자열 : %s \n, str);
return 0;
}
오류는 발생하지 않습니다.(개념파악이 목적임)scanf 함수를 이용해서 문자열을 입력받는 소스입니다.
오류는 없으나 개념이 이해가 가지 않습니다.
물론 위의 소스는 모두 이해가 가지만 제가 궁금한것은
친 부분에 대해서 궁금합니다.
str[100]이라고 배열의 메모리를 100 잡아주었는데 제가 아는 지식 중에는 str[] 처럼 메모리를 잡지 않으면
할당된 문자수 만큼 알아서 메모리를 잡아준다고 배웠습니다.(잘못 알고 있었나요?)
그래서 str[100]이 아닌 str[]으로 배열 변수를 잡고 실행해 보니 오류가 나오던데 왜그런건가요?