분류 전체보기(63)
-
POCU C언어 정주행 2회차 - 함수 전방 선언, 빌드 과정, 라이브러리
1. 함수의 전방 선언에 대해서 우리는 기본적으로 C언어같은 절차지향적인 언어가 위에서 아래로 읽는다는 사실을 배웠을 것이다. 그럼 여기서 다음과 같은 코드가 있다고 가정할 때, 결과가 어떻게 나오는지 맞춰보자. #include int main(void) { Func(); return 0; } int Func() { return 0; } 대부분의 사람들이 함수의 전방 선언을 배우면 컴파일이 되지 않는다고 이야기한다. 하지만 틀렸다! 놀랍게도 정상적으로 작동을 한다. 이유는 C언어에서 컴파일러는 어떤 함수의 이름을 봤을 때, 이렇게 동작하기 때문이다. "어? 너같은 함수 본 적 없는데? 너가 어떤 애인지 모르겠지만 프로그래머가 짠 함수라고 가정하고 그냥 넘어갈게. 반환형은 int라고 가정한다?" 놀랍게도 ..
2022.12.08 -
POCU C언어 정주행 1회차 - 매개변수 빈칸 vs void, 주석, signed vs unsigned
1. 함수 선언에서 매개변수 리스트를 작성할 때, 빈 칸 vs void 함수 2개를 아래와 같이 선언했다고 가정하자. int FuncA(); int FuncB(void); 필자는 이 2개의 선언이 같은 뜻이라고 생각했다.... 착각이었다. C89를 기준으로 엄밀하게 말하면 아래와 같다. 1)은 정의문에서 매개변수가 어떤 것이 나오게 될 지 모른다는 뜻이다. 즉, 정의문에서 매개변수가 존재해도 문법 위반이 아니다! 2)는 말 그대로 void라고 명시를 했기 때문에 매개변수가 존재하지 않는다는 뜻이다. 여기서 선언과 정의를 명확하게 구분해서 글을 읽고 이해하는데 헷갈리지 않도록 하자! 결론: 매개변수 리스트가 없다면 반드시 void를 넣어주자. 2. 주석을 다는 방법 C89를 기준으로 주석을 다는 방법은 /..
2022.12.02 -
POCU C언어 정주행 - Intro
블로그를 시작하게 된 이유 요즘 취업 준비를 하면서 포폴을 쓰다가 면접 연습도 병행하고 있었는데 생각보다 내가 모르는 것이 너무 많았다... 그래서 처음부터 복습을 해보고 싶었다. 처음부터 한다는 생각으로 내가 어떤 부분을 모르고 있었는지 짚어보고 싶었다. 그러던 와중에 후배 1명이 강의를 하나 추천해줬는데 놀라울 정도로 내가 몰랐던 것들이 쏟아져 나왔다. 그래서 정리를 해놓지 않으면 다시 까먹을 것 같아서 강의를 보면서 내가 몰랐던 부분을 위주로 정리하려고 한다. 반복문, 함수 사용법 이딴거 없다. 진짜 내가 몰랐던 것들만 정리해서 적을 예정이다. 지금도 정주행을 하고 있는데 학교나 학술 동아리로 따지면 1회차에서 나올법한 내용들에서도 모르는 것들이 우후죽순으로 나왔다. 현재 대학교 졸업을 앞두고 있는..
2022.12.02