Skip to main content

Section outline

    • Data Types and Sizes: Understanding standard data types in C.
      • Hands-on Lab: Write a program to determine data type sizes.
    • Type, Variable & Function Qualifiers: Exploring const, volatile, and more.
      • Hands-on Lab: Using qualifiers in variables and functions.
    • Operators in C: Logical, Arithmetic, Bitwise Operators.
      • Hands-on Lab: Implement various operators and evaluate results.
    • Storage Classes in C: auto, static, register, extern.
      • Hands-on Lab: Implement and analyze storage classes.
    • Introduction to Pointers: Why and when to use pointers.
      • Hands-on Lab: Basic pointer manipulation.
    • Referencing & Dereferencing: Working with addresses.
      • Hands-on Lab: Demonstrate referencing and dereferencing.
    • Common Pointer Errors: Buffer overflows, dangling pointers.
      • Hands-on Lab: Debug and fix pointer errors.
    • User-Defined Types: Structures, Unions, and Enums.
      • Hands-on Lab: Implement structs and unions for data grouping.
    • Functions and Code Modularity: Writing reusable code.
      • Hands-on Lab: Create and use functions for modular programming.
    • Function Parameters and Return Types: Passing data effectively.
      • Hands-on Lab: Use function pointers and arguments.
    • Preprocessing in C: Macros, Include Guards, Conditional Compilation.
      • Hands-on Lab: Write a program using macros and preprocessors.
    • Introduction to GDB: Core features and commands.
      • Hands-on Lab: Set up GDB and debug a basic C program.
    • Breakpoints and Watchpoints: Monitoring code behavior.
      • Hands-on Lab: Set breakpoints and watchpoints.
    • Stack, Memory, and Data Inspection: Analyzing runtime behavior.
      • Hands-on Lab: Explore stack and heap memory using GDB.
    • Debugging Real-World Applications: Fixing bugs step by step.
      • Hands-on Lab: Debug a real C application and fix logical errors.