본문 바로가기
[ C언어 ]/- C언어 문법공부

C언어 2장(프로젝트 만들기 시작)

by MRG 2020. 4. 6.
728x90
반응형
728x90

비주얼 스튜디오 2019를 잘 설치해오셨나요?? 
충분히 많은 인터넷 자료를 통해서 설치해 오셨을 거라 생각합니다. 
그럼 진짜 시작을 해보도록 하겠습니다.

아이콘

이렇게 생긴 아이콘을 클릭해서 프로그램을 실행해보겠습니다. 실행을 하게 되면 로그인을 하라고 나옵니다. 여기서 MS사에 가입을 해서 로그인을 하고 여러분들이 원하는 테마를 설정하고 확인을 눌러주면 저와 같은 창일 나올 겁니다. 

프로젝트 메뉴

저와 그림이 안 비슷하다고 생각하실 수 있으시겠지만 저는 계속 여러 프로젝트를 생성했기 때문에 저렇게 여러개에 프로젝트들이 보이는 겁니다. 그럼 새 프로젝트를 만들어보겠습니다. 우측 하단에 보면 새 프로젝트 만들기라는 있죠?



▣ 그러기 전에 우선 여기서 프로젝트란 무엇일까요? 
우리가 작성할 명령서 -> 바로 소스코드(명령서, 설계도)와 여러 기본으로 제공된 헤더파일(.h)을 하나로 묶어 넣어두는 곳이라고 생각하면 편할 거 같습니다. 우리가 나중에 다시 비주얼스튜디오를 열고 다시 보게 되면 그 프로젝트가 있고 그 프로젝트를 열게 되면 우리가 만들어둔 소스코드와 헤더 파일이 같이 묶여서 열리게 됩니다.

프로젝트

그럼 아니 명령서(설계도)는 코딩이라는건 알겠는데... 소스코드? 는 머고 헤더 파일? 은 또 머고 이게 먼 소리인가 하실 수 있습니다. 알고 있습니다. 조급해하지 마시고 이것도 하나하나 차례가 되면 설명해 드리도록 하겠습니다.
그런데 지금 이걸 다 설명하고 C언어를 하려고 한다면 컴퓨터에 역사부터 시작해야지 않을까 생각합니다.
그러니 조급해하지 마시고 천천히 읽으면서 따라오시면 될꺼같습니다.
우선 기억해야할껀 프로젝트를 생성하는 건 우리가 만들게 될 소스코드와 사용할 헤드 파일을 묶어서 열수 있게 만들어놓은 것이다라고 생각하면 될꺼 같습니다. 새 프로젝트 만들기를 눌러보겠습니다. 

 

 그럼 이런식으로 여러 가지 프로젝트 템플릿이 나옵니다.



▣템플릿이 무엇일까요? 
나무위키 : Template. 형판, 형틀 어떤 특정한 모양을 만들기 위해 만들어진 틀을 말한다. 쉽게 이야기하면 프로그래머가 개발을 할 때 어떤 틀로 프로젝트로 개발할지 선택해주는 곳입니다. 여기에 있는 모든 틀을 볼 필요는 없습니다. 우리가 지금 앱을 만들거나 게임을 만드는 게 아니지 때문에, 빈 프로젝트로 시작을 하겠습니다. 다음을 눌러보면

이런 식으로 창이 나옵니다. 첫 번째 프로젝트 이름을 정하게 됩니다. 우리가 어떤 프로젝트를 할지 이름을 정해주게 됩니다. 아무 이름이나 넣을 수 있지만, 중요한 건 이 프로젝트가 나중에 쌓이면 어떤 게 어떤 프로젝트를 했는지 알기 어렵습니다. 그렇기 때문에 지금부터 이름을 정하는 연습을 해야 합니다. 왜 이름을 정하는 걸 연습하느냐, 나중에 이야기하겠지만 우리가 소스코드를 작성할 때 변수 이름, 함수 이름, 포인터 이름, 배열 이름 등등 정말 많은 이름을 정해야합니다.



▣ 제가 첫번째 장에서도 말씀드렸죠? 코딩은 읽는걸 더 많이 합니다. 예로 개발하는데 2년, 유지 보수하고 운영하는데 당연히 2년 이상이겠죠? 그렇기 때문에 오류가 생기면 내가 작성한 코딩을 다시 보고 그걸 다시 수정해서 배포하는걸 더 많이 하게 됩니다. 그런데 이름을 막 정했다고 생각해봅시다. AAA, BBB, CCC, DDD 이런 식으로 말이죠. 
그럼 여러분들이 저걸 보고 무슨 프로젝트인지 아시겠나요?, 저게 중요한 변수에 이름이라고 하면 무엇인지 아시겠나요? 혼자 코딩을 한다면 알수는 있겠죠 하지만 몇 개월이 지나고 다른 프로젝트도 많이 하는 개발자라면 저걸 기억할까요? 사람이기 때문에 모릅니다. 저도 몰라요. 그러니 꼭 꼭 지금부터라도 이름 짓는 연습을 꼭 하셔야 합니다. 영어로요!!!. 왜냐 영어로 만들어져 있기 때문입니다. 



저 이야기는 나중에 변수에서 또 언급을 하도록 하겠습니다. 그럼 이름을 정해주세요. 저는 일단 기본이름으로 진행하겠습니다. 저처럼 하지 마시고 영어로 자신만에 프로젝트 이름을 정해주세요.
그 다음에 밑에를 보면 위치가 있습니다. 이건 프로젝트를 저장할 위치입니다. 기본적으로 유저 폴더 안에 저장되거나 비주얼 스튜디오가 설치된 소스라는파일안으로 설정되어 있습니다. 여러분들 중에 저 위치가 헷갈리거나 내가 과제를 해야 하고 프로젝트 파일을 자주 어딘가 제출해야 한다면 내가 따로 위치를 지정해서 하시면 좋을 거 같습니다.
코딩을 하다가도 저 위치를 검색하는 방법도 있으니 그냥 다음 누르셨다고 해서 겁내지 마세요. 그리고 밑에를 보면 솔루션이라고 있습니다. 이것도 이름을 정할수 있는데 우선 임의 정해주시고 만들기 버튼을 눌러주세요.

 


▣ 그럼 우선 솔루션이 무엇일까요?
간단하게 이야기하면 여러 개의 프로젝트를 모아둔 곳입니다. 사진을 보시면 솔루션 123이라고 지정한 거 밑에 프로젝트가 들어있죠? 이걸 직접 확인하고 싶으면 솔루션에서 오른쪽 마우스를 클릭하면 이런 메뉴가 나옵니다.

여기서 파일 탐색기에서 폴더 열기 있습니다. 그걸 클릭하시면

이런 파일이 보일겁니다. 123.sln 
저 파일에 sln은 솔루션에 약자로 된 파일입니다. 그리고 그 옆에 프로젝트 파일들이 있죠? 이렇게 솔루션은 프로젝트들을 모아둔 곳입니다. 그럼 솔루션 안에 프로젝트를 더 생성할 수 있을까요? 네 가능합니다.

 

아까 다시 비주얼스튜디오 창에서 솔루션에서 동일하게 오른쪽 마우스를 누르고 추가에서 새 항목을 선택하면 아까랑 동일하게 프로젝트 틀을 선택하는 창이 나오고 만들어주면 솔루션안에 새로운 프로젝트가 추가됩니다. 직접 아까처럼 탐색기에서 확인해보면 프로젝트 파일이 하나 더 생성된 것을 볼 수 있습니다. 자 이제는 우리가 컴퓨터한테 명령을 줄 명령서 또는 설계도를 만들어 보겠습니다. 

 

▣ 우선 소스코드를 생성하면려면  소스파일에서 오른쪽 마우스를 누르면 추가 -> 새 항목을 누르면 됩니다.
여기서 또 이런 창이 나오는데요.

여기서도 어떤 틀로 명령서 또는 설계도를 만들지 물어봅니다. 머 C++도 있고 헤더 파일도 있고 C++ 클래스도 있는데 이것에 대한 설명은 뒤에서 천천히 하도록 하겠습니다.
우선 우리는 단순하게 명령서, 설계도를 만들어야 하니깐 C++파일(. cpp)을 선택해줍니다. 여기서 우리는 C++가 아닌 C언어를 배울 건데 왜 저걸 선택하나 라는 생각을 하실 수도 있습니다. 쉽게 생각하면서 C언어에서 좀 더 개선된 게 C++그리고 C#입니다. 기타 등등에 다른 언어들도 있습니다. 그렇기 때문에 C++선택해서 C언어로만 사용할 수 있게 설정할 수 있습니다. C++를 선택하고 이름에 .cpp로 그냥 만들기를 한다면 C++로 된 명령서가 만들어지겠지만 우리가 여기서 잘 봐야 할게 이름을 정하고. c로 한 다음에 추가를 누르게 되면 C언어만을 사용한 명령서를 만들게 됩니다. 

꼭 이름.c로 꼭 바꿔서 진행해야 합니다. 우리는 C++이 아닌 C언어를 진행하기 때문입니다.
그렇게 하면 이렇게

명령서(설계도)가 만들어집니다. 

▣ 제가 프로젝트만 만드는데 너무 많은 설명을 했죠? 

보통 책이나 여러 다른 강의에서는 프로젝트 생성 -> 만들고  끝 이렇게 나오지만 안 그런 책들도 있습니다. 저는 공부할 때 이런 부분들이 너무 궁금했기 때문에 이런 부분도 저와 같은 생각을 할 분들이 있을 거 같아 이렇게 디테일하게 진행합니다.
프로젝트, 솔루션 이거에 대한 정의는 더 할 수 있는 이야기가 많지만 이 정도까지만 알아도 C언어 공부하는 데에는 문제가 없다고 생각합니다. 우리가 대화를 할 때에도 프로젝트 무언가 묶음이구나,
솔루션 아 프로젝트에 모임이구나 이 정도로 알고 있다면 어디서든 이해가 조금은 될 거라 생각합니다.
여기까지 꼼꼼하게 읽으셨다면 정말 코딩하거나 오류를 고치는 유지보수하는 과정에서 꼭 도움이 될 거라 생각합니다. 
다시 이야기하지만 코딩을 읽는 것도 정말 중요합니다.



여러분 그리고 이 강의가 모든 것에 교과서와 진리가 아닙니다. 아 이거 했다. 끝이 아닌 여러좋은 강사님들과 선생님들에 자료와 영상 등을 참고하시면서 공부하시면 더 실력이 빠르게 늘고 좋아 질꺼라 생각합니다.
머물지 마세요!!! 이 블러그를 통해서 더 공부를 해야겠다라는 의지에 발판이 되었으면 좋겠습니다.
궁금하신 사항이나 필요한 내용들이 있으시면 댓글이나 제 메일로 주시면 가능한 선에서 블러그에 올리거나 개인으로 답장을 드리도록 하겠습니다.  
아직 코딩은 안들어갔지만 필요한 부분들을 진행했습니다.
그럼 다음 장에는 본격적으로 코딩을 작성하고 중요한 개념들을 하나하나 잡아가면서 진행하겠습니다.
그럼 파이팅입니다. 제가 매 장마다 하는 이야기가 있죠?



▣ 포기하지 마세요!!! 저도  했습니다.!!! 그럼  다음장에서 뵙겠습니다.

728x90
반응형

댓글