돌아오신 걸 환영해요 마지막 과제이자 포인터 섹션의
마지막 도전이에요
이번 과제에서는 동적 메모리 할당이 어떻게
작동하는지 이해하시길 바라요 끈을 하나 묶어야 할 거예요
아주 기본적인 거예요
동적 메모리 할당의 개념
전체를 이해하게 될 거예요
동적 메모리 할당의 장점은 무엇일까요?
필요할 때 충분한 메모리를 할당할 수 있다는 거죠
기억력을 낭비할 필요 없어요 메모리가 더 필요하면 재분배할 수 있어요
이 과제에서는 말록을 사용해야 해요
이 과제에서 여러분은 프로그램을 작성할 겁니다 동적 메모리 할당의 이해를 시험하는 거죠
사용자가 텍스트 문자열을 입력할 수 있는 프로그램을 작성해 주세요
scanf를 사용해야 해요. Gits도 사용할 수 있어요 이 얘기는
많이 안 했지만 표준 입력 스트림의 Gits나 f gits는
스페이스를 포함하는 문자열을 읽을
수 있게 해주죠 Scanf는 빈칸까지
문자열만 읽어요
Gits를 사용하면 여러 문자열을 띄어쓰기로 구분할 수 있어요
scanf나 gits는 둘 다 괜찮아요
사용자가 문자열을 입력하게 할 거예요 입력된 텍스트를 프린트할
거예요
쉬워 보이지만 차이점은 동적 메모리 할당을 이용한다는
점이죠
또한 문자열의 제한을 사용자가 입력하도록 할 수도 있습니다
그리고 meloc을 이용해서 몇 바이트를 할당할지 알 수 있죠
char 포인터를 생성해야 합니다 문자 포인터만요, 문자 배열은 안 돼요
메모리를 할당하세요 기억하세요, 캐릭터 배열을
만들 때 메모리는 이미 자동으로 할당됩니다
괄호에 넣을 크기에
따라서요 그렇게 하면 큰 단점이 있죠
크기보다 더 큰 걸 입력하려 하면 재편집해야 하거든요
잡음만 나요 컴파일 시간에 메모리가 할당되죠
프로그램을 실행하면 동적 메모리가 할당돼요
사용자가 입력하는 것에 따라 얼마만큼의 메모리를 할당할지 결정할 수 있어요
문자열에 대해 할당하고 싶은 바이트에 대한
숫자를 사용자에게 요청하세요
그런 다음 사용자에게 문자열을 입력하라고 하세요
올바르게 메모리를 할당하고 문자 포인터를 scanf나 git s에
넘겨야 합니다.
그리고 입력된 텍스트를 표시해야 해요.
마지막으로 모든 중요한 무료 기능을 잊지 마세요
사용이 끝나면 항상 메모리를 풀어줘야
합니다 그래야 다른 프로그램이 그 메모리를
활용할 수 있죠 메모리는 귀한 자원입니다
특히 내장된 시스템 실시간 프로그램에서는요 그러니 메모리를
독차지하지 말고 방출하세요
다음 강의에서 해결책을 제시할게요 고마워요