강의

멘토링

로드맵

Inflearn brand logo image
BEST
개발 · 프로그래밍

/

프로그래밍 언어

독하게 시작하는 C 프로그래밍

취미가 아닌 전문 개발자의 길을 가려는 분들을 위한 C언어 프로그래밍 강의입니다. 쓰고 독하게 배워서 달달한 길로 가고 싶은 분들에게 권합니다!

(4.9) 수강평 166개

수강생 2,617명

c언어
컴공
컴퓨터
컴퓨터구조
vc++C컴퓨터 구조assembly-language

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • C언어 문법

  • 최소한의 컴퓨터 구조

  • 포인터에 대한 확실한 이해

C언어 ‘제대로’ 하고 싶은 당신을 위한 
C언어 프로그래밍의 바이블! 

더 독하게 돌아왔습니다!
C언어 입문 스테디셀러 최신 개정 📖

『독하게 시작하는 C 프로그래밍』의 최신 개정판을 위한 강의입니다. 기존 책과 강의가 가진 특징을 그대로 계승합니다.

  • ✅ C언어 기초 문법부터 고급 프로그래밍 이론까지 전공자 수준으로 학습합니다.
  • ✅ 도구 사용 방법은 물론 제대로 메모리 디버깅을 할 수 있도록 지원합니다.
  • ✅ 취미나 교양이 아니라 전문 개발자를 희망하는 사람들이 꼭 알아야 할 이론과 기본 프로그래밍 기법을 배웁니다.

독하게 배워서 달게 쓰는 C언어
처음부터 제대로 알려드립니다.

전문 개발자로 취업을 희망하는 CS 비전공자

C언어에 대해 더 깊이 이해하고 싶은 CS 전공자

C언어 포인터 개념을 이해하는 데 어려움을 겪는 분

취업 시장에서 차별화된 경쟁력을 갖추고 싶은 누구나

혹시 여러분의 고민은 아닌가요?

IT 전문 개발자로 취업을 희망하는 분들의 상당수가 CS 전공 지식에 대한 부족을 호소합니다. 그러나 안타깝게도 대부분의 원인은 기본 이론을 제대로 공부하지 않았기 때문입니다.

다른 인기 프로그래밍 언어인 Java(자바)를 공부하고 있다면 어떨까요? Java를 공부하는 사람은 직접 메모리 관리를 하지 않기 때문에 편리할 수 있습니다. 하지만, 정작 면접에서 질문 받게 될 많은 이론들은 C언어의 포인터 때문에 발생하는 문제와 크게 다르지 않습니다.

해결 방법은 간단합니다. 처음부터 제대로 배우면 됩니다!


널널한 개발자와 함께하는
C언어 입문의 A to Z

💡 이 강의는 정말로 독하게 갑니다! 언어의 문법은 물론 컴퓨터 구조와 운영체제 이론 일부를 포함시켜 전문 C언어 개발자가 되기 위해 꼭 알아야 할 내용을 밀도 있게 다룹니다.

C를 배우기에 앞서 기본이 되는 컴퓨터 구조와 그에 따른 특징을 이해할 수 있습니다.

C언어를 비롯해 대부분의 프로그래밍 언어가 가지는 특징을 컴퓨터 구조와 결합해 이해할 수 있습니다. 따라서 응용 능력이 대폭 향상됩니다.

현존하는 대부분의 유명 프로그래밍 언어가 C언어 문법을 그대로 사용합니다. 앞으로 어떤 프로그래밍 언어를 다시 공부하더라도 쉽게 다가갈 수 있습니다.

많은 분들이 어려워하는 C언어의 포인터와 친해질 수 있으며, 무엇보다 문제가 발생하더라도 스스로 해결할 수 있는 강력한 디버깅 기법을 구사할 수 있습니다.


커리큘럼 미리보기 📚

강의는 크게 네 파트로 이루어집니다.

  • Part 1에서는 C언어를 배우기 전에 알아야 할 기본적인 CS 이론을 다룹니다.
  • Part 2에서는 개발 환경을 구축하고 C언어의 기본 문법 및 표준 입/출력 기법을 배웁니다.
  • Part 3에서는 기초 이론을 알고 있다는 가정 하에 수준 향상을 위한 프로그래밍 기법을 배웁니다.
  • 마지막 Part 4에서는 C언어의 고급 문법과 전문적인 이론들을 배웁니다.

입/출력 버퍼의 작동과 운영체제 구조

컴퓨터 구조로 알아보는 변수와 연산구

  • 함수 호출로 변화하는 Call stack을 추적하는 것은 물론 각종 디버깅 기법을 배울 수 있습니다.
  • 이를 바탕으로 높은 수준의 응용 프로그램을 직접 개발할 수 있습니다.

이 강의를 만든 
지식공유자는 👨‍💻

‘널널한 개발자’ 최호성입니다.

  • (모두가 싫어하는) 국내 최초 PC 방화벽 개발자
  • 1992년부터 C언어를 공부한 30년 묵은 C/C++ 개발자
  • 다수 국책과제 수행 경험자이자 15년 이상 개발 강의 경력을 함께 보유한 아저씨!
  • C언어 인기 입문서 『독하게 시작하는 C 프로그래밍』 저자

3만 명 이상이 구독하는 "널널한 개발자 TV" 유튜브 채널을 운영하고 있습니다. (바로가기)


Q&A 💬

Q. 프로그래밍을 처음 접하는 비전공자도 이 강의를 들을 수 있나요?

네, 들을 수 있습니다. 그러나 절대로 한 번에 다 이해 할 수 없으며 전체 학습 및 복습에 최소 2개월 이상 투자해야 합니다.

Q. 개발 환경은 꼭 윈도우로 맞추야 하나요?

네, 가급적 그렇게 하시기를 강력히 권합니다. 그렇지 않으면 메모리 변화 추적 등 핵심 이론에 대한 실습이 사실 상 불가능하기 때문입니다.

Q. 수강 전에 준비해야 할 것이 있나요?

'넓고 얕게 외워서 컴공 전공자 되기' 수업에서 다룬 내용들을 알고 있어야 합니다. 그 중 꼭 필요한 것들은 수업에서 다시 다루기는 합니다만 가급적 미리 학습하고 수강하시기를 권합니다.

Q. Java 개발자가 되려 하는데 이 수업이 도움이 될까요?

논란이 있을 수 있습니다만 결과적으로 도움이 된다고 말씀드릴 수 있습니다. Java의 참조형은 C++의 참조형과 흡사합니다. 동시에 C언어의 포인터와도 같습니다. Java는 언어 특성 상 메모리를 직접 관리하지 않을 뿐 메모리를 다루는 것은 같습니다.

Q. 이 강의를 들으면 취업에 유리할까요?

네, 유리합니다. C언어를 이 강의에서 다루는 수준만큼 이해한다면 절대 초보자가 아니라고 자신있게 말씀드릴 수 있습니다. 충분하지 않을 수는 있겠지만 확실한 차별성을 얻을 수 있습니다.

📢 실습 환경 및 유의사항 안내

C언어는 OS 및 하드웨어에 대해 직접적으로 의존하는 Native code입니다. 따라서 아래 실습 환경을 정확히 맞춰야 실습을 제대로 할 수 있습니다. 

  • Windows 11 64비트 OS (Windows 10 64비트 가능)
  • Microsoft Visual Studio 2022 Community (필수)
  • Microsoft Excel (사용 권장)
  • 상기 OS와 도구가 작동하는데 무리가 없는 하드웨어 (intel i5 + 16GB RAM 권장)
  • macOS 및 Linux 환경은 고려하지 않습니다.

수강생에게는 수업 자료 PDF 및 강의에서 쓰인 모든 예제 파일 일체를 제공합니다. 또한, 원활한 이해를 위해서는 강의 ‘넓고 얕게 외워서 컴공 전공자 되기’에 해당하는 내용을 이해하고 계셔야 합니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 제대로 C언어를 배우고 싶은 분

  • 이미 CS 전공자의 길을 가고 있는 분

  • 차별화된 전문 개발자가 되기를 희망하는 분

선수 지식,
필요할까요?

  • 강의 "넓고 얕게 외워서 컴공 전공자 되기" 수준에 해당하는 지식

안녕하세요
입니다.

36,820

수강생

2,124

수강평

1,094

답변

4.9

강의 평점

24

강의

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^  

커리큘럼

전체

149개 ∙ (28시간 58분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

166개

4.9

166개의 수강평

  • kkts93082356님의 프로필 이미지
    kkts93082356

    수강평 1

    평균 평점 5.0

    5

    100% 수강 후 작성

    I am a current FE developer. In my case, since I started development with JavaScript, it was somewhat difficult to build up CS knowledge. I tried studying data structures and algorithms in JavaScript, but it was not easy to think about the deep areas of memory due to the nature of the language. I took this course at a time when I had a terrible thirst for basic knowledge. While watching this course, I think I gained a lot of abstract realizations such as, "How do the codes I worked on work internally?" How variables that were simply declared are allocated to memory, what is the relationship between operators and CPUs and how they work, what role pointers play, what is the relationship between structures and objects, what is the reality of stack and heap that are casually mentioned in JavaScript, how callback patterns actually work, how to write good code, etc... I think I thought a lot while watching the course, consciously or unconsciously. I bought the course in mid-October and watched it little by little after work, and I finally finished it today. I feel proud that I have grown a little more than I did three months ago. I think this course will be of great help to those who are currently working and want basic CS knowledge. Finally, to the easy-going developer! Thank you for making such a great course!

    • nullnull8537
      지식공유자

      I think all software developers become thirsty for CS theory as they gain practical experience. I was no exception. I am so glad that this lecture helped you. As you gain more understanding of the internal structure, your understanding of JavaScript will inevitably deepen. Thank you for your kind words and good evaluation. I hope you grow into a better developer. :)

  • zkfk26689220님의 프로필 이미지
    zkfk26689220

    수강평 1

    평균 평점 5.0

    5

    100% 수강 후 작성

    I think this lecture, which starts with C programming, might be difficult to understand if you are a complete beginner. Personally, I watched this lecture with a basic understanding of Linux Python and computer science, and I understood it very well. Even if I didn't understand it at first, I was able to understand it well even if it took some time by disassembling the memory, asking the chat GP, and changing the code to try out various cases, as you said. And among the things you said, you said there is no royal road to this path, which made my impatient mind look at it for a longer period of time. I think I'm lucky to watch this lecture, and I want to thank the generous developer who created the lecture.

    • nullnull8537
      지식공유자

      This class has both strengths and weaknesses that you pointed out exactly. :) If I tell the necessary story, the content becomes difficult, and if I make it easy, it feels like I'm lying, so I've kept my beliefs even though I've received some bad reviews. Fortunately, I'm glad it was helpful. Thank you for the good review and feedback. :)

  • khumberthumbert님의 프로필 이미지
    khumberthumbert

    수강평 4

    평균 평점 5.0

    수정됨

    5

    100% 수강 후 작성

    As someone who has completed this course, along with "Tough C Linear Data Structures" and "Minimal C++ Course for C Developers," I am leaving this review for others who are considering taking this course or for C/C++ developers who are looking to challenge themselves. The instructor often mentions GPT during the lectures, and inspired by that, I incorporated GPT into my studies. After completing this C course once, I minimized re-listening to the lectures for review. Instead, I trained GPT with the examples provided by the instructor and asked it to give me 10 problems every day from start to finish. I started with easier problems to warm up and gradually increased the difficulty. When I struggled to understand certain parts, I would revisit those lecture sections at double speed. I kept requesting and solving problems to engrave them in my mind and hands. Also, I made sure to spend at least 30 minutes to 1 hour trying to solve the practice examples in the lectures on my own. Some problems were solved within 5 minutes, while others, despite appearing easy, took over an hour before I reluctantly looked at the answer. If I had to look at the answer, I would ask GPT to generate similar problems for review. Since I decided to do it the "tough" way, I worked hard with the mindset of showing how tough I could be. It was a truly great course for me. I highly recommend it! Everyone, fighting!

    • nullnull8537
      지식공유자

      Wow~! You're amazing. Asking it to learn from examples and then give you problems is a truly excellent choice. And you even reviewed it at twice the speed... you're really a model student!! You might even be running 'harder' than me, the one who made this lecture. More than anything, it made me think again about the attitude of learning. I will repay your support by creating even better lectures in the future. Thank you. :)

  • elonj334037님의 프로필 이미지
    elonj334037

    수강평 6

    평균 평점 5.0

    5

    16% 수강 후 작성

    I am truly grateful that a developer with outstanding capabilities and good explanatory skills has opened a lecture like this with such enthusiasm.

    • nullnull8537
      지식공유자

      Wow~~! Thank you for your kind words. It makes me want to work harder. I hope that your skills will also soar in the Year of the Blue Dragon. :)

  • sdfjo15658032님의 프로필 이미지
    sdfjo15658032

    수강평 1

    평균 평점 5.0

    5

    12% 수강 후 작성

    These days, effort is important, but the direction you should take is also important, so I think I met a great teacher. Thank you so much for teaching me. In the past, when I studied with the book "C Programming for Beginners" and YouTube lectures, I remember that it was very difficult to follow along while referring to the book because the order of the lectures changed. Now, since you provide the materials in files, it is easy to follow along and organize notes. This is definitely a good thing. However, I personally wish you would change the pen sound when you make the next lecture. Haha.. My ears are sensitive to the sound of the sign pen(?) and when I listen with earphones, I get goosebumps all over my body several times during each lecture, so I turn the volume down to the point where I can barely hear the voice. Of course, this will vary from person to person, but if you don't mind, I would appreciate it if you could consider this as well. ㅎㅎ I have previously broadcasted the lectures on YouTube several times, so I don't know what would be disappointing for a beginner, but I think that if you diligently chew on this lecture and practice programming a little more, you can be in the top ranks of the C language in college. (I did.) As a college student who also wants to become a C/C++ developer, I will cheer you on and diligently follow the lectures you will give in the future. Stay healthy!

    • nullnull8537
      지식공유자

      You must have taken my previous lectures on C! First of all, I would like to say hello. :) I also paid attention to the order based on my previous lecture experience, and I am glad that it led to good results. Also, the recorded sound you gave me as feedback is the actual sound recorded on the microphone. Many people liked this sound, so I didn't pay attention, but I thought that there could be many problems like the one you gave me as feedback. I will try to find a compromise. Thank you for liking my lecture. I will repay you with a better lecture. :)

배움이 더 쉬워지는 9월의 할인 중 (1일 남음)

₩58

24%

₩99,000

널널한 개발자님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!