ā§ŗā§§,⧝⧝⧝, āĻāĻ•āĻŦāĻžāϰāχāĻļā§‚āĻ¨ā§āϝ āĻĨ⧇āϕ⧇

Learn C Programming

program āφāϏāϞ⧇ āϕ⧀, āϏ⧇āĻ–āĻžāύ āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁āĨ¤ āϤāĻžāϰāĻĒāϰ variable, decision āφāϰ loop, āĻāϕ⧇ āĻāϕ⧇ array, pointer āφāϰ memoryāĨ¤

Lesson
ā§§ā§Ēā§Ē
Module āĻŦ⧇āϰāĻŋāϝāĻŧ⧇āϛ⧇
ā§§ā§Ž / ā§§ā§Ž
Part
ā§Ģ

āϕ⧇ āϕ⧋āύāϟāĻž āĻĒāĻĄāĻŧāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ

Free ¡ ā§Ēā§­
āϝ⧇ āϕ⧇āω āĻĒ⧜āϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ, login āĻ›āĻžā§œāĻžāĻ“āĨ¤
Account āĻĨāĻžāĻ•āϞ⧇āχ free ¡ ā§Ģ⧝
Account āĻĨāĻžāĻ•āϞ⧇ āĻĒ⧜āĻž freeāĨ¤
Pro ¡ ā§Šā§Ž
āĻāχ track āĻ āĻŦāĻž Learn Pro āϤ⧇ āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧāĨ¤

āϭ⧇āϤāϰ⧇ āϕ⧀ āφāϛ⧇

ā§Ģ āϟāĻž part āĻ ā§§ā§Ž āϟāĻž module, āĻāϰ āĻŽāĻ§ā§āϝ⧇ ā§§ā§Ž āϟāĻž āĻāĻ–āύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻŦ⧇āϰāĻŋāϝāĻŧ⧇āϛ⧇āĨ¤ āϝ⧇ lesson āĻ āϕ⧋āύ⧋ āϚāĻŋāĻšā§āύ āύ⧇āχ, āϏ⧇āϟāĻž āĻĒāĻĄāĻŧāĻž freeāĨ¤

Part Zero

āĻāĻ• āϞāĻžāχāύ code āϞ⧇āĻ–āĻžāϰ āφāϗ⧇

⧍ āϟāĻž module ¡ ā§§ā§Ģ āϟāĻž lesson
    1. Programming āφāϏāϞ⧇ āϕ⧀āĻĒāĻĄāĻŧāĻž
    2. AI āϝāĻ–āύ code āϞāĻŋāϖ⧇ āĻĻ⧇āϝāĻŧ, āϤāĻ–āύ C āĻļāĻŋāĻ–āĻŦ āϕ⧇āύāĻĒāĻĄāĻŧāĻž
    3. C-āϰ āĻ—āĻ˛ā§āĻĒ: Bell Labs-āϰ āĻāĻ• āϘāϰ āĻĨ⧇āϕ⧇ āϤ⧋āĻŽāĻžāϰ āĻĢā§‹āύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤāĻĒāĻĄāĻŧāĻž
    4. Compiler, interpreter, āφāϰ Run āϚāĻžāĻĒāϞ⧇ āϭ⧇āϤāϰ⧇ āϝāĻž āϘāĻŸā§‡āĻĒāĻĄāĻŧāĻž
    5. āφāϜāϕ⧇āϰ āĻĻāĻŋāύ⧇ C āϚāϞāϛ⧇ āϕ⧋āĻĨāĻžāϝāĻŧ: āϤ⧁āĻŽāĻŋ āϰ⧋āϜ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧋ āĻāĻŽāύ āĻ›āϝāĻŧāϟāĻž āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻĒāĻĄāĻŧāĻž
    6. Structured āφāϰ object oriented: program āϏāĻžāϜāĻžāύ⧋āϰ āĻĻ⧁āχ āϰāĻžāĻ¸ā§āϤāĻžāĻĒāĻĄāĻŧāĻž
    7. Module test: āĻāĻ• āϞāĻžāχāύ code āϞ⧇āĻ–āĻžāϰ āφāϗ⧇Module test
    1. āϤ⧋āĻŽāĻžāϰ āĻĒā§āϰāĻĨāĻŽ C program, āϞāĻžāχāύ āϧāϰ⧇ āϧāϰ⧇āĻĒāĻĄāĻŧāĻž
    2. Syntax āφāϰ semantics: āϭ⧁āϞ āĻšāĻ“āϝāĻŧāĻžāϰ āĻĻ⧁āχ āϰāĻ•āĻŽāĻĒāĻĄāĻŧāĻž
    3. āϚāĻŋāĻšā§āύ⧇āϰ āĻ…āĻ­āĻŋāϧāĻžāύ: C-āϰ āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻžāχāύ āϕ⧀ āĻŦāϞ⧇āĻĒāĻĄāĻŧāĻž
    4. āĻĒ⧁āϰ⧋ ASCII āĻŸā§‡āĻŦāĻŋāϞ, ā§§ā§¨ā§ŽāϟāĻž āϏāĻžāϰāĻŋāχāĻĒāĻĄāĻŧāĻž
    5. Comment, whitespace āφāϰ āĻŽāĻžāύ⧁āώ⧇āϰ āĻĒāĻĄāĻŧāĻžāϰ āĻŽāϤ⧋ codeāĻĒāĻĄāĻŧāĻž
    6. āύāĻŋāĻœā§‡ compile āĻ•āϰ⧇ āϚāĻžāϞāĻžāĻ“: Playground āφāϰ āύāĻŋāĻœā§‡āϰ āĻŽā§‡āĻļāĻŋāύ⧇āϰ toolchaināĻĒāĻĄāĻŧāĻž
    7. Problem: āĻĒā§āϰāĻĨāĻŽ program-āϗ⧁āϞ⧋Problem
    8. Module test: C-āϰ āϏāĻ™ā§āϗ⧇ āĻĒāϰāĻŋāϚāϝāĻŧModule test

Part One

āĻ­āĻžāώāĻžāϟāĻž, āĻāĻ• āϟ⧁āĻ•āϰ⧋ āĻ•āϰ⧇

ā§Š āϟāĻž module ¡ ⧍⧍ āϟāĻž lesson
    1. Variable: memory-āϤ⧇ āύāĻžāĻŽ āϞ⧇āĻ–āĻž āĻŦāĻžāĻ•ā§āϏāĻĒāĻĄāĻŧāĻž
    2. Integer type, āϤāĻžāĻĻ⧇āϰ range āφāϰ overflowāĻĒāĻĄāĻŧāĻž
    3. Floating point: float, double, āφāϰ 0.1 āϕ⧇āύ āĻ āĻŋāĻ• 0.1 āύāϝāĻŧāĻĒāĻĄāĻŧāĻž
    4. Char, bool, āφāϰ āϝ⧇ type-āϗ⧁āϞ⧋ āφāϏāϞ⧇ āϏāĻ‚āĻ–ā§āϝāĻžāĻĒāĻĄāĻŧāĻž
    5. Sizeof āφāϰ limits.h: āφāĻ¨ā§āĻĻāĻžāϜ āύāĻž āĻ•āϰ⧇ āĻŽā§‡āĻļāĻŋāύāϕ⧇ āϜāĻŋāĻœā§āĻžā§‡āϏ āĻ•āϰāĻžāĻĒāĻĄāĻŧāĻž
    6. Problem: variable āφāϰ typeProblem
    7. Module test: variable āφāϰ data typeModule test
    1. āĻ•āύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϟ āφāϰ literal: āύāĻžāĻŽ āĻĒāĻžāĻ“āϝāĻŧāĻž āĻŽāĻžāύāĻĒāĻĄāĻŧāĻž
    2. Const āφāϰ volatile: compiler-āϕ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻĒā§āϰāϤāĻŋāĻļā§āϰ⧁āϤāĻŋāĻĒāĻĄāĻŧāĻž
    3. Printf: format specifier, width āφāϰ precisionāĻĒāĻĄāĻŧāĻž
    4. Scanf: āĻŽāĻžāĻĨāĻž āύāĻž āĻ–āĻžāϰāĻžāĻĒ āĻ•āϰ⧇ āχāύāĻĒ⧁āϟ āύ⧇āĻ“āϝāĻŧāĻžāĻĒāĻĄāĻŧāĻž
    5. āχāύāĻĒ⧁āϟ āϭ⧁āϞ āĻāϞ⧇: āϝāĻž āĻĒāĻĄāĻŧāϞ⧇ āϤāĻž āϝāĻžāϚāĻžāχ āĻ•āϰāĻžāĻĒāĻĄāĻŧāĻž
    6. Problem: āĻĒāĻĄāĻŧāĻž āφāϰ āĻ›āĻžāĻĒāĻžāύ⧋Problem
    7. Module test: āĻ•āύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϟ, āχāύāĻĒ⧁āϟ āφāϰ āφāωāϟāĻĒ⧁āϟModule test
    1. Arithmetic, integer division āφāϰ modulo-āϰ āĻĢāĻžāρāĻĻāĻĒāĻĄāĻŧāĻž
    2. Relational āφāϰ logical operator, āφāϰ short circuitāĻĒāĻĄāĻŧāĻž
    3. Assignment-āϰ āĻļāĻ°ā§āϟāĻ•āĻžāϟ, ++ āφāϰ --āĻĒāĻĄāĻŧāĻž
    4. Bitwise operator: āĻāĻ• āĻŦāĻŋāϟ āĻ•āϰ⧇ āĻ•āĻžāϜāĻĒāĻĄāĻŧāĻž
    5. Precedence āφāϰ associativity: āĻ•āĻ–āύ bracket āĻĻ⧇āĻŦ⧇āĻĒāĻĄāĻŧāĻž
    6. Type conversion: promotion, casting āφāϰ āϚ⧁āĻĒāϚāĻžāĻĒ āĻšāĻžāϰāĻŋāϝāĻŧ⧇ āϝāĻžāĻ“āϝāĻŧāĻž āĻŽāĻžāύāĻĒāĻĄāĻŧāĻž
    7. Problem: āϝ⧇ expression āĻ•āĻžāĻŽāĻĄāĻŧ āĻĻ⧇āϝāĻŧProblem
    8. Module test: operatorModule test

Part Two

Control, function āφāϰ recursion

ā§Ē āϟāĻž module ¡ ā§Šā§§ āϟāĻž lesson
    1. If, else if, else: āĻĒāĻĨ āĻŦ⧇āϛ⧇ āύ⧇āĻ“āϝāĻŧāĻžāĻĒāĻĄāĻŧāĻž
    2. Nested condition āφāϰ āĻā§āϞ⧇ āĻĨāĻžāĻ•āĻž elseAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. Switch, case āφāϰ fall throughAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. Ternary operator, āφāϰ āϝ⧇ āĻļāĻ°ā§āϤ⧇āϰ āĻāĻ•āϟāĻž āύāĻžāĻŽ āĻĻ⧇āĻ“āϝāĻŧāĻž āωāϚāĻŋāϤAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. āϭ⧇āϤāϰ⧇āϰ āĻ•āĻĨāĻž: āĻāĻ•āϟāĻž branch āϕ⧀āĻ­āĻžāĻŦ⧇ jump āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧProāĻĒāĻĄāĻŧāĻž
    6. Problem: āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    7. Module test: āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύ⧇āĻ“āϝāĻŧāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test
    1. While: āĻŦāĻžāϰāĻŦāĻžāϰ āĻ•āϰāĻžāϰ āϧāĻžāϰāĻŖāĻžāĻĒāĻĄāĻŧāĻž
    2. For: init, condition, update, āϧāĻžāĻĒ⧇ āϧāĻžāĻĒ⧇Account āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. Do while: āϝ⧇ loop āĻ…āĻ¨ā§āϤāϤ āĻāĻ•āĻŦāĻžāϰ āϚāϞāĻŦ⧇āχAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. Break, continue, āφāϰ āϝ⧇ goto āϤ⧁āĻŽāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇ āύāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. Nested loop, grid āφāϰ patternAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    6. Loop-āĻ āϚāĻŋāĻ¨ā§āϤāĻž āĻ•āϰāĻž: āϝ⧋āĻ—āĻĢāϞ, āĻ…āĻ™ā§āĻ•, āĻŽā§ŒāϞāĻŋāĻ• āϏāĻ‚āĻ–ā§āϝāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    7. Bug gallery: āĻāĻ• āϘāϰ āĻāĻĻāĻŋāĻ• āĻ“āĻĻāĻŋāĻ•, āĻ…āϏ⧀āĻŽ loop āφāϰ āĻšāĻžāϰāĻžāύ⧋ braceProāĻĒāĻĄāĻŧāĻž
    8. Problem: loopAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    9. Module test: loopAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test
    1. Function: āĻāĻ• āϟ⧁āĻ•āϰ⧋ āĻ•āĻžāϜāϕ⧇ āĻāĻ•āϟāĻž āύāĻžāĻŽ āĻĻ⧇āĻ“āϝāĻŧāĻžāĻĒāĻĄāĻŧāĻž
    2. Parameter, return value āφāϰ prototypeAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. Pass by value: function āφāϏāϞ⧇ āϕ⧀ āĻĒāĻžāϝāĻŧAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. Scope: āĻāĻ•āϟāĻž āύāĻžāĻŽ āĻŦāĻžāρāĻšā§‡ āϕ⧋āĻĨāĻžāϝāĻŧAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. Storage class: auto, static, extern, registerAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    6. āχāĻ¨ā§āϟāĻžāϰāĻ­āĻŋāω āϕ⧋āĻŖ: side effect, pure function āφāϰ āĻŸā§‡āĻ¸ā§āϟ āĻ•āϰāĻžāϰ āϏ⧁āĻŦāĻŋāϧāĻžProāĻĒāĻĄāĻŧāĻž
    7. Problem: functionAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    8. Module test: functionAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test
    1. Recursion: āϝ⧇ function āύāĻŋāĻœā§‡āϕ⧇āχ call āĻ•āϰ⧇āĻĒāĻĄāĻŧāĻž
    2. Call stack, āĻāĻ• frame āĻ•āϰ⧇Account āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. Recursion-āĻāϰ pattern: factorial, Fibonacci, āĻ…āĻ™ā§āĻ• āĻ­āĻžāĻ™āĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. Recursion āύāĻžāĻ•āĻŋ loop: āĻ¸ā§ŽāĻ­āĻžāĻŦ⧇ āĻŦ⧇āϛ⧇ āύ⧇āĻ“āϝāĻŧāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. āϭ⧇āϤāϰ⧇āϰ āĻ•āĻĨāĻž: stack frame, tail call āφāϰ stack overflowProāĻĒāĻĄāĻŧāĻž
    6. Problem: recursionAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    7. Module test: recursionAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test

Part Three

Memory āφāϰ data

ā§Ŧ āϟāĻž module ¡ ā§Ģā§Ģ āϟāĻž lesson
    1. Array: āĻ…āύ⧇āĻ• āĻŦāĻžāĻ•ā§āϏ, āĻāĻ•āϟāĻžāχ āύāĻžāĻŽāĻĒāĻĄāĻŧāĻž
    2. Array āĻ˜ā§‹āϰāĻžāϰ pattern: āϝ⧋āĻ—āĻĢāϞ, āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ, āĻ—āĻŖāύāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. āĻ–ā§‹āρāϜāĻž āφāϰ āϕ⧇ āĻ•āϤāĻŦāĻžāϰ āφāϛ⧇ āĻ—ā§‹āύāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. āĻĻā§āĻŦāĻŋāĻŽāĻžāĻ¤ā§āϰāĻŋāĻ• array āφāϰ gridAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. Function-āĻ array āĻĒāĻžāĻ āĻžāύ⧋Account āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    6. Bug gallery: āϏ⧀āĻŽāĻžāϰ āĻŦāĻžāχāϰ⧇ āφāϰ āϚ⧁āĻĒāϚāĻžāĻĒ āϞāĻŋāϖ⧇ āĻĢ⧇āϞāĻžProāĻĒāĻĄāĻŧāĻž
    7. Problem: arrayAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    8. Project: āĻ•āĻžāρāϚāĻž āύāĻŽā§āĻŦāϰ āĻĨ⧇āϕ⧇ āϰ⧇āϜāĻžāĻ˛ā§āϟ reportProāĻĒāĻĄāĻŧāĻž
    9. Module test: arrayAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test
    1. Character, ASCII āφāϰ āĻ•āĻžāĻœā§‡āϰ āĻŽāĻ§ā§āϝ⧇ char typeāĻĒāĻĄāĻŧāĻž
    2. String: āϝ⧇ array āĻļā§‚āĻ¨ā§āϝ āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧇āώ āĻšāϝāĻŧAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. āύāĻŋāϰāĻžāĻĒāĻĻ⧇ string āĻĒāĻĄāĻŧāĻž: fgets, āφāϰ gets āϕ⧇āύ āĻŦāĻžāĻĻ āĻĒāĻĄāĻŧāϞAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. String.h: strlen, strcpy, strcmp, strcatAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. String Problem: palindrome, āĻļāĻŦā§āĻĻ, āϛ⧋āϟ āĻŦāĻĄāĻŧ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    6. āϭ⧇āϤāϰ⧇āϰ āĻ•āĻĨāĻž: string literal āφāϏāϞ⧇ āĻĨāĻžāϕ⧇ āϕ⧋āĻĨāĻžāϝāĻŧProāĻĒāĻĄāĻŧāĻž
    7. Problem: stringAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    8. Project: āϏāĻ¤ā§āϝāĻŋāĻ•āĻžāϰ⧇āϰ āϞ⧇āĻ–āĻž āϏāĻžāĻŽāϞāĻžāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŽāύ word counterProāĻĒāĻĄāĻŧāĻž
    9. Module test: stringAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test
    1. Memory āφāϰ āĻ āĻŋāĻ•āĻžāύāĻž: āĻĒā§āϰāϤāĻŋāϟāĻž āĻŦāĻžāĻ•ā§āϏ⧇āϰ āĻāĻ•āϟāĻž āύāĻŽā§āĻŦāϰ āφāϛ⧇āĻĒāĻĄāĻŧāĻž
    2. Pointer: āϝ⧇ variable āĻ āĻŋāĻ•āĻžāύāĻž āϧāϰ⧇ āϰāĻžāϖ⧇Account āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. Pointer āφāϰ array: āĻĒā§āϰāĻžāϝāĻŧ āĻāĻ•āχ āϜāĻŋāύāĻŋāϏ, āϤāĻŦ⧇ āĻ āĻŋāĻ• āύāϝāĻŧAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. Pass by reference: function-āϕ⧇ āϤ⧋āĻŽāĻžāϰ variable āĻŦāĻĻāϞāĻžāϤ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. Pointer arithmetic, āφāϰ const-āϰ āϤāĻŋāύ āϜāĻžāϝāĻŧāĻ—āĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    6. Function pointer: āφāϚāϰāĻŖāϟāĻžāϕ⧇āχ āĻšāĻžāϤāĻŦāĻĻāϞ āĻ•āϰāĻžProāĻĒāĻĄāĻŧāĻž
    7. Bug gallery: NULL, dangling āφāϰ wild pointerProāĻĒāĻĄāĻŧāĻž
    8. Problem: pointerAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    9. Project: āĻļ⧁āϧ⧁ pointer āĻĻāĻŋāϝāĻŧ⧇ swap, sort āφāϰ searchProāĻĒāĻĄāĻŧāĻž
    10. Module test: pointerAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test
    1. struct: āϝ⧇ āϤāĻĨā§āϝāϗ⧁āϞ⧋ āĻāĻ•āϏāĻ™ā§āϗ⧇ āĻĨāĻžāϕ⧇, āϤāĻžāĻĻ⧇āϰ āĻāĻ• āĻ•āϰāĻžāĻĒāĻĄāĻŧāĻž
    2. struct-āĻāϰ array, āφāϰ function-āĻ structAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. struct-āĻāϰ pointer āφāϰ arrow operatorAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. typedef, nested struct āφāϰ program āϗ⧁āĻ›āĻŋāϝāĻŧ⧇ āϰāĻžāĻ–āĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. union āφāϰ enum: āϕ⧋āύāϟāĻž āĻ•āĻ–āύ āĻŽāĻžāύāĻžāϝāĻŧAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    6. āϭ⧇āϤāϰ⧇āϰ āĻ•āĻĨāĻž: padding, alignment āφāϰ sizeof-āĻāϰ āϚāĻŽāĻ•ProāĻĒāĻĄāĻŧāĻž
    7. Problem: structureAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    8. Project: memory-āϤ⧇ āĻāĻ•āϟāĻž library catalogueProāĻĒāĻĄāĻŧāĻž
    9. Module test: structureAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test
    1. File: program āĻļ⧇āώ āĻšāϞ⧇āĻ“ data āϝ⧇āύ āĻĨāĻžāϕ⧇āĻĒāĻĄāĻŧāĻž
    2. Text file āĻĒāĻĄāĻŧāĻž āφāϰ āϞ⧇āĻ–āĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. fprintf, fscanf āφāϰ āϏāĻžāϜāĻžāύ⧋ file input outputAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. Binary file, fread āφāϰ fwriteAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. EOF, error, āφāϰ āϝāĻž āϖ⧁āϞ⧇āĻ› āϤāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    6. āχāĻ¨ā§āϟāĻžāϰāĻ­āĻŋāω āϕ⧋āĻŖ: buffering, flush āφāϰ āϝ⧇ output āĻšāĻžāĻ“āϝāĻŧāĻž āĻšāϝāĻŧ⧇ āϗ⧇āϞProāĻĒāĻĄāĻŧāĻž
    7. Problem: fileAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    8. Project: log file āĻĒāĻĄāĻŧ⧇ report āĻŦāĻžāύāĻžāύ⧋ProāĻĒāĻĄāĻŧāĻž
    9. Module test: fileAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test
    1. Dynamic memory āϕ⧇āύ: āϝ⧇ āĻŽāĻžāĻĒāϟāĻž āφāϗ⧇ āĻĨ⧇āϕ⧇ āϜāĻžāύāĻž āύ⧇āχāĻĒāĻĄāĻŧāĻž
    2. malloc, calloc, realloc āφāϰ freeAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    3. Program āϚāϞāϤ⧇ āϚāϞāϤ⧇ array āĻŦāĻĄāĻŧ āĻ•āϰāĻžAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    4. Heap-āĻ struct, āφāϰ āĻļ⧇āώ⧇ āĻāĻ•āϟāĻž linked listAccount āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    5. Leak, double free, āφāϰ āϝ⧇ tool āĻāϗ⧁āϞ⧋ āϧāϰ⧇ āĻĢ⧇āϞ⧇Account āĻĨāĻžāĻ•āϞ⧇āχ freeāĻĒāĻĄāĻŧāĻž
    6. āϭ⧇āϤāϰ⧇āϰ āĻ•āĻĨāĻž: malloc āφāϏāϞ⧇ operating system-āĻāϰ āĻ•āĻžāϛ⧇ āϕ⧀ āϚāĻžāϝāĻŧProāĻĒāĻĄāĻŧāĻž
    7. Problem: dynamic memoryAccount āĻĨāĻžāĻ•āϞ⧇āχ freeProblem
    8. Project: āϚāĻžāĻšāĻŋāĻĻāĻžāĻŽāϤ⧋ āĻŦāĻĄāĻŧ āĻšāĻ“āϝāĻŧāĻž contact listProāĻĒāĻĄāĻŧāĻž
    9. Module test: dynamic memoryAccount āĻĨāĻžāĻ•āϞ⧇āχ freeModule test

Part Four

āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻĻ⧁āύāĻŋāϝāĻŧāĻžāϰ C

ā§Š āϟāĻž module ¡ ⧍⧧ āϟāĻž lesson
    1. Preprocessor: compiler-āĻāϰ āφāϗ⧇ āϝāĻž āϘāĻŸā§‡ProāĻĒāĻĄāĻŧāĻž
    2. Macro: define, function macro āφāϰ āϤāĻžāĻĻ⧇āϰ āĻĢāĻžāρāĻĻProāĻĒāĻĄāĻŧāĻž
    3. Header file: declaration, guard āφāϰ āϕ⧋āύāϟāĻž āϕ⧋āĻĨāĻžāϝāĻŧ āĻĨāĻžāĻ•āĻŦ⧇ProāĻĒāĻĄāĻŧāĻž
    4. Multi file build: compile, link āφāϰ āĻĒā§āϰāĻĨāĻŽ MakefileProāĻĒāĻĄāĻŧāĻž
    5. Static āφāϰ shared library, āφāϰ āĻ…āĻ¨ā§āϝ⧇āϰ code link āĻ•āϰāĻžProāĻĒāĻĄāĻŧāĻž
    6. Problem: āϟ⧁āĻ•āϰ⧋ āϜ⧁āĻĄāĻŧ⧇ program āĻŦāĻžāύāĻžāύ⧋ProProblem
    7. Project: āĻāĻ• file-āϕ⧇ āϏāĻ¤ā§āϝāĻŋāĻ•āĻžāϰ⧇āϰ project-āĻ āĻ­āĻžāĻ— āĻ•āϰāĻžProāĻĒāĻĄāĻŧāĻž
    8. Module test: preprocessor āφāϰ buildProModule test
    1. Undefined behaviour: āϝ⧇ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞ⧋ āύāĻž āĻœā§‡āύ⧇āχ āĻ­āĻžāĻ™āĻ›āĻŋāϞ⧇ProāĻĒāĻĄāĻŧāĻž
    2. Debugging: printf, gdb, sanitizer āφāϰ āĻāĻ•āϟāĻž āĻĒāĻĻā§āϧāϤāĻŋProāĻĒāĻĄāĻŧāĻž
    3. āϏāĻ¤ā§āϝāĻŋāĻ•āĻžāϰ⧇āϰ C āĻĒāĻĄāĻŧāĻž: SQLite-āĻāϰ code-āĻ āĻāĻ• āϚāĻ•ā§āĻ•āϰProāĻĒāĻĄāĻŧāĻž
    4. C99 āĻĨ⧇āϕ⧇ C23: āϕ⧀ āĻŦāĻĻāϞāĻžāϞ, āφāϜ āϕ⧋āύāϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧋ProāĻĒāĻĄāĻŧāĻž
    5. Style, warning āφāϰ āĻāĻŽāύ C āϞ⧇āĻ–āĻž āϝāĻž āĻ…āĻ¨ā§āϝāϰāĻž āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻ•āϰ⧇ProāĻĒāĻĄāĻŧāĻž
    6. Problem: bug-āϟāĻž āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰ⧋ProProblem
    7. Project: āĻĻ⧇āĻ–āϤ⧇ āĻ āĻŋāĻ•, āφāϏāϞ⧇ āϭ⧁āϞ āĻāĻŽāύ program āϏāĻžāϰāĻžāύ⧋ProāĻĒāĻĄāĻŧāĻž
    8. Module test: āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻĻ⧁āύāĻŋāϝāĻŧāĻžāϰ CProModule test
    1. āχāĻžā§āϜāĻŋāύāĻŋāϝāĻŧāĻžāϰ⧇āϰ āĻŽāϤ⧋ āĻ•āĻžāϜ āĻ•āϰāĻž: plan, āĻŦāĻžāύāĻžāĻ“, test, āφāĻŦāĻžāϰProāĻĒāĻĄāĻŧāĻž
    2. C-āϰ āĻĒāϰ āϕ⧋āύ āĻĻāĻŋāϕ⧇ āϝāĻžāĻŦ⧇ProāĻĒāĻĄāĻŧāĻž
    3. Project āĻāĻ•: āϞ⧇āĻ–āĻžāϰ āĻĒāϰāĻŋāϏāĻ‚āĻ–ā§āϝāĻžāύ āĻŦ⧇āϰ āĻ•āϰāĻžāϰ toolProāĻĒāĻĄāĻŧāĻž
    4. Project āĻĻ⧁āχ: file-āĻ save āĻšāĻ“āϝāĻŧāĻž contact bookProāĻĒāĻĄāĻŧāĻž
    5. Project āϤāĻŋāύ: āϛ⧋āĻŸā§āϟ āĻāĻ•āϟāĻž expression interpreterProāĻĒāĻĄāĻŧāĻž

Learn Pro

āϏāĻŦ track, āĻāĻ•āϟāĻžāχ subscription

āϏāĻŦ track āĻāϰ Pro lesson āφāϰ project

āĻŦāĻ›āϰ⧇ ā§ŗā§Ŧ,⧝⧝⧝

card āĻ: āĻŽāĻžāϏ⧇ $9, āĻŦāĻž āĻŦāĻ›āϰ⧇ $59āĨ¤

Certificate

Certificate āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇

Lesson āĻļ⧇āώ āĻ•āϰāϞ⧇āχ certificate āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ āύāĻžāĨ¤ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ āĻāĻ•āϟāĻž Skill Test āĻāϰ āωāĻĒāϰāĨ¤

Skill Test āĻ–ā§‹āϞāĻž

Skill Test āĻ–ā§‹āϞāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž track āĻ āĻĒā§āϰāĻĨāĻŽ attempt free, āφāϰ āϤāĻžāϤ⧇ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻž score āφāϰ band āĻĒāĻžāĻŦ⧇āύ, āϝ⧇āϟāĻž share āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤ Skill Certificate āĻšāϞ⧋ paid āϧāĻžāĻĒ: 600 āĻŦāĻž āϤāĻžāϰ āĻŦ⧇āĻļāĻŋ score āĻ āĻāϟāĻž āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ, āφāϰ āφāϗ⧇ āĻ•āĻŋāύ⧇ āϰāĻžāĻ–āϞ⧇ āϏ⧇āϟāĻž āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ attempt āĻ“ āϏāĻžāĻĨ⧇ āĻĒāĻžāĻŦ⧇āύāĨ¤

āϏāĻŽāϝāĻŧ āĻŦāĻžāρāϧāĻž, browser āĻāχ

āĻĒā§āϰāĻļā§āύ āφāϏ⧇ āĻŦāĻĄāĻŧ āĻāĻ•āϟāĻž pool āĻĨ⧇āϕ⧇ āĻāϞ⧋āĻŽā§‡āϞ⧋ āĻ•āϰ⧇, āφāϰ āĻĒā§āϰāĻĨāĻŽ āĻĒā§āϰāĻļā§āύ āĻĨ⧇āϕ⧇āχ āϘāĻĄāĻŧāĻŋ āϚāϞ⧇āĨ¤

āφāĻĒāύāĻžāϰ code, āϞ⧁āĻ•āĻžāύ⧋ test

āφāĻĒāύāĻžāϰ code āϚāϞ⧇ āĻāĻŽāύ test āĻ, āϝ⧇āϗ⧁āϞ⧋ āφāĻĒāύāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāύ āύāĻžāĨ¤ āĻĒāϰ⧇ āϜāĻŽāĻž āĻĻ⧇āĻ“āϝāĻŧāĻž code āϗ⧁āϞ⧋ āĻŽāĻŋāϞāĻŋāϝāĻŧ⧇āĻ“ āĻĻ⧇āĻ–āĻž āĻšāϝāĻŧāĨ¤

āĻļ⧁āϧ⧁ āĻĒāĻžāϏ āύāĻž, āĻāĻ•āϟāĻž score

ā§Ļ āĻĨ⧇āϕ⧇ ā§§ā§Ļā§Ļā§Ļ āĻāϰ score, āϏāĻžāĻĨ⧇ āϤāĻžāϰ band, certificate āĻ āĻ›āĻžāĻĒāĻž āĻĨāĻžāϕ⧇āĨ¤

Proctoring āύ⧇āχ, āφāϰ āϏ⧇āϟāĻž āϞ⧁āĻ•āĻžāύ⧋āĻ“ āĻšāϝāĻŧ āύāĻžāĨ¤ āĻĒāϰāĻŋāϚāϝāĻŧ āĻŦāϞāϤ⧇ account āφāϰ certificate āĻ āϞ⧇āĻ–āĻž āύāĻžāĻŽāϟāĻžāχāĨ¤ Webcam āύ⧇āχ, ID āϝāĻžāϚāĻžāχ āύ⧇āχ, āφāϰ āĻ•āĻĨāĻžāϟāĻž certificate āφāϰ verify āĻĒ⧇āϜ āĻĻ⧁āχ āϜāĻžāϝāĻŧāĻ—āĻžāϤ⧇āχ āϞ⧇āĻ–āĻž āĻĨāĻžāϕ⧇āĨ¤

Score āĻāϰ band

Score ā§Ļ āĻĨ⧇āϕ⧇ ā§§ā§Ļā§Ļā§Ļ, āϤāĻŋāύāϟāĻž āĻ­āĻžāϗ⧇: concept, code āĻĒā§œā§‡ bug āĻ āĻŋāĻ• āĻ•āϰāĻž, āφāϰ āύāϤ⧁āύ āĻ•āϰ⧇ āϞ⧇āĻ–āĻžāĨ¤

  • Not yetāφāĻŦāĻžāϰ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇ā§Ļâ€“ā§Šā§¯ā§¯
  • FoundationāφāĻŦāĻžāϰ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇ā§Ēā§Ļā§Ļ–ā§Ģ⧝⧝
  • WorkingCertificate āĻĒāĻžāĻŦ⧇āύā§Ŧā§Ļā§Ļâ€“ā§­ā§Ē⧝
  • ProficientCertificate āĻĒāĻžāĻŦ⧇āύ⧭ā§Ģā§Ļâ€“ā§Žā§¯ā§¯
  • AdvancedCertificate āĻĒāĻžāĻŦ⧇āύ⧝ā§Ļā§Ļâ€“ā§§ā§Ļā§Ļā§Ļ

āϝāĻžāϰāĻž āύāĻŋāϝāĻŧā§‹āĻ— āĻĻ⧇āύ

āĻ•āĻžāωāϕ⧇ āύāĻŋāĻšā§āϛ⧇āύ?

āĻĒā§āϰāϤāĻŋāϟāĻž certificate āĻāϰ āĻāĻ•āϟāĻž āĻ–ā§‹āϞāĻž āĻĒ⧇āϜ āφāϛ⧇, āϝ⧇āĻ–āĻžāύ⧇ score, āϤāĻŋāύāϟāĻž āĻ­āĻžāĻ—, āϤāĻžāϰāĻŋāĻ– āφāϰ test āĻāϰ version āϞ⧇āĻ–āĻž āĻĨāĻžāϕ⧇āĨ¤ Screenshot āύāĻž, link āϟāĻž āĻšā§‡āϝāĻŧ⧇ āύāĻŋāύāĨ¤

Progsityprogsity.io/verify/â€Ļ
āύāĻžāĻŽ
Track
Learn C Programming
Score
/ ā§§ā§Ļā§Ļā§Ļ, band āϏāĻš
āĻ­āĻžāĻ—
concept ¡ āĻĒāĻĄāĻŧ⧇ bug āĻ āĻŋāĻ• ¡ āϞ⧇āĻ–āĻž
āϤāĻžāϰāĻŋāĻ–, version
āĻ–ā§‹āϞāĻž āĻĒ⧇āĻœā§‡ āĻāϗ⧁āϞ⧋ āĻĻ⧇āĻ–āĻž āϝāĻžāϝāĻŧāĨ¤ āĻāĻ–āĻžāύ⧇ āχāĻšā§āϛ⧇ āĻ•āϰ⧇āχ āϕ⧋āύ⧋ āύāĻŽā§āύāĻž score āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧāύāĻŋāĨ¤

āĻĒāĻžāĻ ā§āϝāĻ•ā§āϰāĻŽ āφāϰ chapter-āĻāϰ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž Abu Jafar Md Jakaria-āϰ, āϤāĻžāρāϰ āύāĻŋāĻœā§‡āϰ lecture note āφāϰ teaching material āĻĨ⧇āϕ⧇āĨ¤ āĻ–āϏ⧜āĻž AI writing tool āĻĻāĻŋā§Ÿā§‡, āϤāĻžāϰāĻĒāϰ āϞ⧇āĻ–āϕ⧇āϰ āĻšāĻžāϤ⧇ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āφāϰ āĻ…āύ⧁āĻŽā§‹āĻĻāύāĨ¤