inflearn logo
知識共有
inflearn logo

ひとりC言語リマスター - 25年目の開発者イ・チャンヒョン著者直講

プログラミングを初めて学習する方にとって、C言語は変数、演算子、条件文、繰り返し文、関数、配列、ポインタといった慣れない概念のために難しく感じられることがあります。 この講義は、『独学のC言語(나혼자 C언어)』の著者であり、25年目の開発者であるイ・チャンヒョン教授が直接講義する著者直伝のC言語入門コースです。 単にC言語の文法を暗記するにとどまらず、各文法がなぜ必要なのか、プログラムの中でどのように動作するのか、実際の問題をどのようにコードで解決するのかを段階的に説明します。 プログラミングの基本概念から始まり、変数とデータ型、演算子、条件文、繰り返し文、関数、配列、ポインタまで、C言語の核心となる基礎を一つずつ学習し、各パートごとの課題を通じて学んだ内容を実際にコードで作成し、問題を解決する経験まで提供します。 25年間の開発と教育現場で培った経験をもとに、C言語を初めて学ぶ方がプログラミングの基礎をしっかりと固められるよう案内します。

14名 が受講中です。

難易度 入門

受講期間 無制限

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言語を正しく理解するためには、文法を暗記することよりも
「なぜこのように動作するのか?」を理解することが重要です。

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

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

C言語を初めて学ぶ方

プログラミングの経験がなくても大丈夫です。Hello Worldから一歩ずつ着実に始めます。

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

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

ポインタのせいでC言語を諦めてしまった方

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

この講義の特徴

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

説明を聞いて終わるだけの講義ではありません。

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

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

変数とメモリの関係

変数とは、単に値を格納する箱ではありません。

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

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

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

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

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

関数とプログラムの構造

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

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

配列とメモリの関係

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

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

この質問から出発します。

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

ポインタ、暗記せずに原理で理解します

多くのC言語学習者がポインタでつまずきます。

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

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

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

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

この講義を作った人


イ・チャンヒョン | 開発者であり教育者、そして『独習C言語(나혼자 C언어)』の著者

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

デベロッパーとしてキャリアをスタートし、C/C++、Windowsシステムプログラミング、C#、Web開発、JavaScriptとNode.js、Python、AIに至るまで、多様な技術を経験してきました。そして、開発現場で得た経験を教育や書籍を通じて伝える活動を長年続けてきました。


開発を長く続けるほど立ち返ることになる「基本」

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

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

変数を取り扱うと、メモリでは何が起こるのでしょうか?

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

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

そして、多くの学習者が苦戦するポインタは、一体なぜ必要なのでしょうか?

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

「なぜだろう?」

intifforwhileprintf()の使い方を覚えるだけでは不十分です。

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

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

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


そこで『独習C言語』を書きました

長年の開発と教育経験をもとに、2021年に『独習C言語(나혼자 C언어)』を執筆しました。

初めてプログラミングに触れる学習者が、C言語の文法を難しく暗記する代わりに、図解や例題、直接的な説明を通じてC言語にアプローチできるように作られた本です。

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

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

この講義の目標は単純です。

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

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


主な経歴

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

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

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

  • 20年以上のSW開発会社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ベースのウェブプログラミングの定石』、恵智院、2016

  • 『人生初のコーディング アプリインベンター』、デジタルブックス、2018

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

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

  • 『Sparkによる自然言語処理』、ハンビットメディア、2021 (訳書)

  • 『独習C言語』、デジタルブックス、2021

  • 『データ匿名化のためのパイプライン』、ハンビッメディア、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言語とプログラミングが初めての方も受講いただけます。

    ただし、動画を視聴するだけで終わらせるのではなく、必ずご自身でコードを書いてみてください。

    プログラミングは目で見るよりも、実際に作成し、実行し、エラーに直面し、その理由を考える過程で最も多くを学ぶことができます。

こんな方に
おすすめです

学習対象は
誰でしょう?

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

  • プログラミングの基礎をしっかりと固めたい初心者開発者

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

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

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

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

  • 25年目の開発者であり、『独習C言語(나혼자 C언어)』の著者による直接の解説を通じてC言語を学びたい方

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

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

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

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

こんにちは
jamsuham750592です。

キャリア認証

745

受講生

17

受講レビュー

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

もっと見る

カリキュラム

全体

21件 ∙ (4時間 20分)

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

受講レビュー

まだ十分な評価を受けていない講座です。
みんなの役に立つ受講レビューを書いてください!

似ている講座

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

無料