printf에서 문자열은 어떻게 보관하고 있나요?
빛솔
질문 제목 : printf에서 문자열은 어떻게 보관하고 있나요?
printf 를 쓸 때 꼴로 문자열을 입력하여 쓰는데, 이 문자열은 printf 함수의 작동중 언제 저장되나요? 또 저장되는 방법은 뭘까요? 또 어디에 저장되나요? printf 가 string형 변수를 만들어서 저장하나요?
질문 내용 :
일반적으로 printf 를 쓸 때 꼴로 문자열을 입력하여 쓰는데,
아무리 생각해봐도 printf가 문자열을 분석해서 %d나 %f같은것도 분석을 해야할텐데
이 문자열은 printf 함수의 작동중 언제 저장되나요? 또 저장되는 방법은 뭔가요?
혹시 printf 함수 안에 지역변수가 설정되어 있나요?
-
염소자리
소스코드를 컴파일하여 실행파일을 만들면 소스코드에 적어둔 \%d\\n\ 같은 문자열이 실행파일 안에 포함이 됩니다. 실행파일을 실행하면 운영체제가 실행파일을 메모리에 얹고 이때 위 문자열도 함께 올라갑니다. printf함수가 호출될 때 위 문자열이 저장된 위치를 printf함수에 알려주면 printf함수는 그곳에서부터 문자열을 하나씩 읽으며 해석하고 처리합니다.
-
밝은빛누리예
printf 내부에 따로 문자열을 보관하지는 않겠죠.
-
바나나맛캔디
아뇨. C언어에서는 함수를 호출할때 스택에 인수를 넣어놓고 호출하게 됩니다.
그리고 질문게시판에는 반드시 돋움체 또는 굴림체를 사용해야 됩니다.
일단 바이트에서 비트로 등급을 내렸습니다.
폰트는 자신의 블로그에서 설정할 수 있습니다. -
리나
음 함수 안에 string형으로 미리 설정되어있는건가요?
-
얀별
그냥 문자열로 프로그램 안에 들어있습니다.