C언어 강좌 제 7강 한줄씩 읽어보는 함수는 없을까? (gets 함수)
.
안녕하세요?
Aoi Kazto입니다! 오늘은 조금 색다르게 글자를 조금 굵게 해봤어요
어때요? 조금 색다른가요?
음... 벌써.. C언어가 7강까지 왔네요.. 미치겠네요..
잡글이라도 왕창 올려서 글쓰는 속도 조금 낮춰야 겠어요!!
어쩌죠!!?
이게 아마도 전 강좌에서 마지막 사진 이였을 거에요.. 아마도..
네.. 그럴겁니다..
&는 왜 붙이는거다?!!
모르면?! [여기]
어.. 언제부터 에러가 뜨기 시작했는지는 잘 모르겠지만은..
gets 란 함수는 2015년에는 없네요..
2010년에는 무조건 존재 합니다..
그러면 없다면 어떻게 해야하나요?
위 사진처럼 gets_보안강화버전
이 존재 합니다..
함수 인수는 어떤 구조인지는 나중에 C++ 강좌에 있겠지만은..
지금 대충 알려드리자면..
template <size_t size> char* __cdecl gets_s(char (&Buffer)[size]) 입니다.
여기서 여러분들은 한가지 알아 채려야 하는게 있습니다.
함수 인수를 보면
gets_s(char (&Buffer)[size]) 이렇게 구현 되어 있습니다..
전 강좌 6강을 보고 오시면 아시듯이..
&은 함수 내부에서 변수의 값을 수정하기 위한 방법이라고 했습니다..
그런데 이렇게 함수 내부에 ex) Function(char &FC) 라는게 있습니다.
main 에서는 Function 함수를 호출할때 main에 있는 MC라는 변수를 넘겨 주었습니다.
그러면 이 MC 라는 변수는 Function 란 함수에서 값이 바뀔수가 있다는 것입니다..
그냥 요약 :
gets 에서는 &를 안해줘도 입력이 된다.
scanf에는 인수에 &가 없으므로 직접 &을 해줘야함
이렇게 하시게 되면은 이제 끝입니다..
전 코드에서 바뀐점은.. 딱 한개
scanf를 gets_s 로 바꾼게 끝입니다.
제가 이렇게 긴 문장을 다 적어도?
변수에는 Enter 까지 값이 다 들어가는것을 알수가 있습니다..!
어때요? 간단하죠?
그 외에도 puchar, getchar 등등이 있는데
다음 강좌에서는.. if 란 구문을 배워는 봐야겠죠..
언제까지 이걸 할지도 모르는데..