inflearn logo
知識共有
inflearn logo

ひとりで学ぶC言語 リマスター版 ― 開発歴25年の開発者、イ・チャンヒョン著者による直接講義

プログラミングを初めて学ぶ人にとって、C言語は変数、演算子、条件文、繰り返し文、関数、配列、ポインタなど、なじみのない概念が多いため、難しく感じられることがあります。 この講座は、『ひとりで学ぶC言語』の著者であり、開発者として25年のキャリアを持つイ・チャンヒョン教授が自ら講義を行う、著者直伝のC言語入門講座です。 単にC言語の文法を暗記するだけでなく、それぞれの文法がなぜ必要なのか、プログラム上でどのように動作するのか、実際の問題をどのようにコードで解決するのかを、段階的に説明します。 プログラミングの基本概念から始め、変数とデータ型、演算子、条件文、繰り返し文、関数、配列、ポインタまで、C言語の基礎となる重要な要素を一つずつ学習します。さらに、各Partの課題を通じて、学んだ内容を実際にコードとして書き、問題を解決する経験も提供します。 25年間、開発と教育の現場で培ってきた経験をもとに、C言語を初めて学ぶ方がプログラミングの基礎をしっかり身につけられるようサポートします。

難易度 入門

受講期間 無制限

C
C
memory-management
memory-management
algorithms
algorithms
data-structure
data-structure
Functional Programming
Functional Programming
C
C
memory-management
memory-management
algorithms
algorithms
data-structure
data-structure
Functional Programming
Functional Programming
Thumbnail

受講後に得られること

  • C言語の基本文法とプログラムの動作原理を理解し、自分でコードを書けます。

  • 条件文と繰り返し文を活用して、与えられた問題を論理的に解決するプログラムを作成できます。

  • 関数と配列を活用してプログラムを機能別に構成し、複数のデータを効率的に処理できます。

  • 変数とメモリの関係を理解し、C言語の核心概念であるポインタの基本原理を理解できます。

  • 各Partの実習と課題を通じて、単にコードをまねるだけでなく、自ら問題をコードで解決する経験ができます。

  • 将来、C++、C#、Java、Pythonなど、他のプログラミング言語を学ぶための確かなプログラミングの基礎を身につけることができます。

目で読むC言語ではなく、原理を理解するC言語

C言語を勉強しながら、こんなことを考えたことはありませんか?

「変数にはなぜデータ型が必要なのか?」
「配列はなぜメモリ上に連続して格納されるのか?」
「ポインタはいったいなぜ必要なのか?」

C言語を正しく理解するには、文法を暗記することよりも
「なぜこのように動作するのか?」を理解することが重要です。 than to memorize the syntax.

この講義は、『ひとりで学ぶC言語』の著者が、C言語の基礎からメモリとポインタの原理まで自ら解説する著者直伝のC言語入門講義です。

このような方におすすめです

C言語を初めて学ぶ方

プログラミング経験がなくても大丈夫です。Hello Worldから一つずつ順を追って始めます。

C言語を学んだけれど、原理を理解できていない方

条件文、繰り返し文、関数は使えるものの、なぜそのように動作するのかをきちんと理解できていない方におすすめです。

ポインタが原因でC言語を諦めた方

アドレス、メモリ、データ型の関係から出発し、なぜポインタが必要なのかを一つずつ理解します。

この講義の特徴

主な特徴と差別化ポイントを紹介してください。

説明を聞くだけで終わる講座ではありません。

概念を理解し → 実際にコードを書き → 実行結果を確認しながら、コードが実際にどのように動作するのかを確認します。

このような内容を学びます

変数とメモリの関係

変数は単に値を入れる箱ではありません。

変数を宣言すると、メモリではどのようなことが起こるのでしょうか?
データ型によってメモリのサイズが異なるのはなぜでしょうか?

C言語の文法をメモリの観点から捉える方法を学びます。

条件文と繰り返し文の原理

if、switch、while、forを単に使う方法だけを学ぶのではありません。

プログラムの実行フローが条件によってどのように変わり、
繰り返し文を使って問題をどのように論理的に解決するのかを学びます。

関数とプログラムの構造

関数はなぜ必要なのでしょうか?

1つのプログラムを複数の機能に分ける理由と
パラメータ、戻り値、ローカル変数とグローバル変数の関係を理解します。

配列とメモリの関係

配列を単にint arr[5]のような構文として暗記するのではありません。

「配列のデータはメモリにどのように保存されるのだろうか?」

この疑問から始めます。

配列の構造をメモリの観点から理解すると
その後に登場するポインタを理解するための重要な基盤が築かれます。

ポインタは、暗記するのではなく原理で理解します

多くのC言語学習者がポインタに難しさを感じます。

しかし、ポインターを一つの独立した文法として覚えようとすると、より難しくなります。

変数 → メモリ → アドレス → 配列 → ポインタ

この関係を順番に理解すれば、ポインターがなぜ必要なのかを自然に理解できます。

ポインタ変数がアドレスを保存する理由、
ポインタにもint*、char*のようにデータ型が存在する理由まで
「なぜ?」という問いを通して、原理から説明します。

この講義を作った人


イ・チャンヒョン|開発者であり教育者、そして『ひとりで学ぶC言語』の著者

現在イ・チャンヒョンコーディング研究所代表として開発者教育とプログラミング教育に携わっており、誠信女子大学融合セキュリティ工学科兼任教授、ソウル市中部技術教育院応用ソフトウェア科専任教授・学科長を歴任しました。20年以上にわたり、ソフトウェア開発の現場で直接プログラムを開発してきました。

開発者として出発し、C/C++、Windowsシステムプログラミング、C#、Web開発、JavaScriptとNode.js、Python、AIに至るまで、さまざまな技術を経験してきました。また、開発現場で得た経験を、教育や書籍を通じて伝える仕事にも長年携わってきました。


開発を長く続けるほど、改めて見直すことになる'基本'

数多くのプログラミング言語や技術を経験してきましたが、長年にわたって開発や教育に携わる中で、むしろ重要だと感じるようになったのはプログラミングの基本原理でした。

特にC言語は、その基本を学ぶのに適した言語だと思います。

変数を宣言すると、メモリでは何が起こるのでしょうか?

データ型によってメモリのサイズが異なる理由は何でしょうか?

配列はなぜメモリ上に連続して存在するのでしょうか?

そして、多くの学習者が難しいと感じるポインタは、いったいなぜ必要なのでしょうか?

私は学生たちに文法を教える前に、いつも一つの質問を投げかけたいと思っていました。

「なぜそうなるのだろう?」

int、if、for、while、printf()の使い方を暗記するだけでは十分ではありません。 is not enough. là chưa đủ.

コードがなぜそのように書かれているのか、コンピューターではどのように動作するのか、特にメモリでは何が起きているのかを理解し始めると、互いに離れていたC言語の概念が一つにつながり始めます。

変数 → データ型 → メモリ → 配列 → アドレス → ポインタ

私は、こうしたつながりを理解することがC言語の学習において非常に重要だと考えています。


そこで『ひとりで学ぶC言語』を書きました

長年の開発と教育の経験をもとに、2021年に『ひとりで学ぶC言語』を執筆しました。

プログラミングを初めて学ぶ人がC言語の文法を難しく暗記するのではなく、図や例題、直接的な説明を通してC言語に取り組めるように作った本です。

そして今回は本を超えて、著者本人が直接解説する講義を作りました。

本では紙面の制約上、十分に説明しにくかった部分や、学生に教える中で繰り返し質問された内容、そして開発者として働く中で知ったプログラミングの原理を、実際にコードを書きながら説明したいと思います。

この講義の目標はシンプルです。

C言語の文法をたくさん暗記させるのではなく、コードを見て「なぜ?」と問いかけられるようにすること。

それが私の考えるプログラミング学習の始まりです。


主な経歴

  • 現)イ・チャンヒョンコーディング研究所 代表

  • 前)誠信女子大学融合セキュリティ工学科兼任教授

  • 前)ソウル市中部技術教育院 応用ソフトウェア科 専任教授/学科長

  • 20年以上のソフトウェア開発会社でのITソリューション開発

  • 成信女子大学融合保安工学科 システムプログラミング講義

  • 漢陽大学校 ERICA Cプログラミング基礎講義

  • サムスンマルチキャンパス AI基盤ウェブ開発者養成課程

  • 済州大学 Python・ビッグデータ教育

  • KGカイロス ロボットAI・Python・ビッグデータ教育

  • LG CNS 大・中小企業共存協力 Javaバックエンド在職者教育

  • 韓国ソフトウェア技術振興協会 AI基盤Node.js・JavaScriptフルスタック開発者養成課程

  • サムスンマルチキャンパス・コスタエデュ・ビット教育センターなどでの開発者および在職者向け教育

  • SKハイニックスの在職者向けアルゴリズムテスト問題の作成


著書および訳書

プログラミング入門からシステムプログラミング、Web開発、データ・AIまで、13冊の著書および訳書を手がけました。

  • 『MFCシステムプログラミング』、ヘジウォン、2008年

  • 『Win32ベースのAPIプログラミング』、恵志院、2010年

  • 『C++プログラミングとSTL』、ヘジウォン、2011年

  • 『HTML5とJavaScriptベースのWebプログラミングの定石』、ヘジウォン、2016

  • 『私の人生初のコーディング App Inventor』、デジタルブックス、2018

  • 『C#プログラミングの定石』、ヘジウォン、2020年

  • 『ひとりでPython』、デジタルブックス、2020年

  • 『Sparkを用いた自然言語処理』、Hanbit Media、2021年(訳書)

  • 『ひとりで学ぶC言語』、デジタルブックス、2021

  • 『データ匿名化のためのパイプライン』、Hanbit Media、2022(訳書)

  • 『バックエンド入門者のためのモダンJavaScript & Node.js』、ギルボットキャンパス、2023年

  • 『フロントエンド入門者のためのReactの定石 with TypeScript』、ギルボットキャンパス、2025

  • 『はじめて出会うC#』、ヘジウォン、2026年


この講義で私がお伝えしたいこと

C言語は単に古いプログラミング言語ではありません。

変数とデータ型を学びながらデータとメモリの関係を理解し、
条件文と繰り返し文を通してプログラムの流れを理解し、
関数と配列を通してプログラムの構造を理解し、
ポインタを通してメモリとアドレスを直接扱う原理を体験できます。

だから私はこの講義で、先に正解をお伝えするのではなく、一緒に問いかけていきたいと思います。

「なぜこのように書くのだろう?」
「なぜこのような結果になるのだろう?」
「メモリでは今、何が起きているのだろう?」

コードを暗記するのではなく、原理を理解すること。

『ひとりでC言語』を執筆した著者が、開発者の視点からC言語の原理を直接解説します。

コードを暗記しないでください。

「なぜそうなるのか?」を考えてみてください。

気になる点はありますか?

受講前に、受講を検討している方が気になりそうな質問と回答を3つ以上作成してみてください。
ありきたりで形式的な回答よりも、知識を共有する方の個性が伝わる回答をおすすめします。

Q. プログラミングを一度もしたことがないのですが、受講できますか?

はい。プログラミングを初めて始める方を対象としています。

プログラミングとは何かというところから、開発環境の構築、Hello Worldまで、最初から説明します。

Q. C言語を以前学んだことがありますが、もう一度受講しても役に立ちますか?

はい。特にC言語の文法はある程度知っているものの、メモリ、配列、ポインタの関係が明確に理解できていない方におすすめします。

文法を改めて暗記するよりも、すでに知っている内容を原理の観点から再び結び付けて理解できます。

Q. 書籍『ひとりで学ぶC言語』は必ず必要ですか?

必須ではありません。

講義だけでも学習できるように構成していますが、『ひとりでC言語』を併用すると、例題や説明の復習に役立ちます。

受講前の参考事項

実習環境

  • 講義では、Windows環境を基準にC言語の開発環境を構築し、実際にコードを作成します。

    各講義を視聴しながら、実際に例題を作成して実行してみることをおすすめします。

学習資料

  • 講義内容は『ひとりで学ぶC言語』の構成と流れに基づいて進められます。

    各Partで概念と例題を学習し、課題を通して自分で問題を解決した後、正解と解説を確認します。


前提知識および注意事項

  • 特別なプログラミングの前提知識は必要ありません。

    C言語とプログラミングを初めて学ぶ方でも受講できます。

    ただし、動画を視聴するだけで終わらせず、必ず実際にコードを書いてみてください。

    プログラミングは目で見るよりも、実際にコードを書き、実行し、エラーに遭遇し、その理由を考える過程で最も多くを学ぶことができます。 thay vì chỉ quan sát bằng mắt.

こんな方に
おすすめです

学習対象は
誰でしょう?

  • C言語とプログラミングを初めて始める初心者

  • プログラミングの基礎をしっかり身につけたい初心者開発者

  • 大学でC言語を初めて学ぶコンピュータ工学およびソフトウェア関連専攻の学生

  • C言語の変数、条件文、繰り返し文、関数、配列、ポインタを体系的に学びたい学習者

  • 単なる文法の暗記よりも、プログラミングの基本原理と考え方を学びたい方

  • C言語を勉強していて、ポインタなどの難しい概念でつまずき、もう一度基礎から学び直したい方

  • 25年目の開発者であり、『ひとりで学ぶC言語』の著者による直接の解説を通して、C言語を学びたい方

前提知識、
必要でしょうか?

  • コンピューターの基本操作能力

  • プログラミングに対する学習意欲

  • 事前のプログラミング経験は不要です

こんにちは
jamsuham750592です。

キャリア認証

784

受講生

19

受講レビュー

2

回答

4.8

講座評価

2

講座

こんにちは。私はイ・チャンヒョンコーディング研究所の代表、イ・チャンヒョンです。

私はSW開発者の養成とSW在職者企業を中心に、オンライン・オフライン教育および開発コンサルティングを行っております。

20年余りの現場での実務開発経験を基に、企業のニーズを把握することで、受講生の就職率80%以上を達成し、

企業教育においても、最高水準の満足度を維持しています。

現)イ・チャンヒョンコーディング研究所代表

前)誠信女子大学校 融合保安工学科 兼任教授

 

1. 略歴

20年以上にわたり、SW開発会社にてITソリューションを開発

サムスンマルチキャンパス / Programmers / ビット教育センターなどで、KDT就職準備生および在職者向けに多数の講義を実施

東京都中部技術教育院 応用ソフトウェア科 教授 歴任

2. 講義経歴

サムスンマルチキャンパス(C++リファクタリング講義)

誠信女子大学 融合保安工学科 講師(システムプログラミング、2018 - 2019)

ソウル特別市中部技術教育院 応用ソフトウェア科 専任教授/学科長 (2018 - 2019)

韓国ソフトウェア技術振興協会(.NETベースのフルスタック開発者養成課程、2021)

漢陽大学校 ERICAキャンパス (Cプログラミング基礎, 2022)

サムスンマルチキャンパス (AIベースのウェブ開発者養成課程、2022)

韓国ソフトウェア技術振興協会 (node.jsベースのフルスタック開発者養成課程、2022-2024)

3. 著書および訳書

MFCシステムプログラミング (恵智院, 2008)

Win32ベースのAPIプログラミング (ヘジウォン, 2010)

C++プログラミングとSTL (恵智院, 2011)

HTML5とJavaScriptベースのウェブプログラミングの定石(ヘジウォン, 2016)

人生初のコーディング App Inventor(デジタルブックス、2018)

C#プログラミングの定石(ヘジウォン, 2020)

ひとりで学ぶPython(デジタルブックス、2020)

Sparkによる自然語処理(翻訳、ハンビッメディア、2021)

ひとりで学ぶC言語(デジタルブックス, 2021)

データ匿名化のためのパイプライン(翻訳, ハンビッメディア, 2022)

バックエンド入門者のためのモダンJavaScript&node.js(ギルボッキャンパス、2023)

フロントエンド入門者のためのReactの定石 with TypeScript(ギルボッキャンパス, 2025)

4. アルゴリズムテスト問題の作成

SKハイニックス在職者対象 2018年度下半期 計5回

5. インタビュー

雑誌インタビュー - ウィクリーピープル(コーディング教育専門家) http://socialforum.co.kr/221274622489

放送インタビュー - Arirang TV(Money Monster - ソフトウェア市場編) https://www.youtube.com/watch?v=pmid6i-Q-_A

放送インタビュー - 韓国職業放送(ドリームワークス 第15話 - コーディング教育専門家編)

http://www.tvworknet.or.kr/prog/preProgramVodView.do?progKey=55559&contentCid=76124

もっと見る

カリキュラム

全体

50件 ∙ (5時間 34分)

講座資料:

講座掲載日: 
最終更新日: 

受講レビュー

全体

2件

5.0

2件の受講レビュー

  • ljses09187211님의 프로필 이미지
    ljses09187211

    受講レビュー 1

    ∙

    平均評価 5.0

    5

    43% 受講後に作成

    C言語初心者でしたが、最後まで受講してC言語をマスターしました。 本も本当に分かりやすく理解できるように、たとえを上手に使って説明してくださっています。

    • jjhgwx님의 프로필 이미지
      jjhgwx

      受講レビュー 1,190

      ∙

      平均評価 4.9

      5

      14% 受講後に作成

      似ている講座

      同じ分野の他の講座を見てみましょう!

      無料