Course Outline

Introduction

  • ANSI Standard
  • Fundamentals of C
  • Datatypes and Constants
  • Simple & Formatted I/O
  • Memory Usage
  • Operators & Expressions
  • Flow Control
  • Loops

Functions

  • Role of Functions
  • Pass by value / reference
  • Returning values from Functions
  • Recursive Functions
  • Call Back Functions
  • Implications on Stack
  • Library Vs User defined function
  • Passing variable number of arguments

Arrays

  • Defining, initializing and using arrays
  • Multi Dimensional Arrays
  • Arrays of Characters and Strings
  • Arrays and Pointers
  • Passing arrays to functions
  • String handling with and without library functions

Storage Classes

  • Scope and Life
  • Automatic, Static, External, Register
  • Memory(CPU / RAM)

Structures & Unions

  • What structures are for
  • Declaration, initialization
  • Accessing like objects
  • Nested Structures
  • Array of Structures
  • Passing structures through functions
  • Allocation of memory and holes
  • Structure Comparison
  • Structure bit operation
  • Typedef for portability
  • Unions
  • Overlapping members

Enumerated data types

  • Enum, Indexing, enum Vs #define

Bit Operations

  • AND ( & ), OR ( | ), XOR ( ^ )
  • Compliment ( ~ )
  • Left-Shift ( << ), Right Shift ( >> )
  • Masking, Setting, Clearing and Testing of Bit / Bits

Pointers

  • The purpose of pointers
  • Defining pointers
  • The & and * operators
  • Pointer Assignment
  • Pointer Arithmetic
  • Multiple indirections
  • Advanced pointer types
  • Generic and Null Pointer
  • Function Pointers
  • Pointers to Arrays and Strings
  • Array of Pointers
  • Pointers to Structure and Union
  • Pointers to Dynamic memory
  • Far, Near and Huge Pointers
  • Pointer Type Casting

Dynamic Memory Allocation

  • Malloc(), Calloc(), Realloc(), Free()
  • Farmalloc(), Farcalloc()

File Handling Concepts

  • Concept of a FILE data type
  • Inode, FILE structure
  • File pointer
  • Character handling routines
  • Formatted Data Routines
  • Raw data Routines
  • Random Access to FILE

Command line Arguments

  • Argc, argv
  • Variable Inputs to the main

Compiler in Practical

  • Preprocessor Directives
  • Compiler, Assembler, Linker
  • Conditional Compilation
  • Multiple File Compilation
  • Code Optimization techniques
  • Volatile, #pragma

Data Structures

  • Linear & non-linear
  • Homogeneous & non-homogeneous
  • Static & Dynamic
  • Single, Double & Circular Linked Lists
  • Stacks & Queues
  • Binary Trees

Sorting and Searching Techniques

  • Insertion, Selection, Bubble, Merge, Quick, Heap

Concepts and Real-time Exposure

  • Development Tools and Environment
  • Make Utility
  • Industry Coding Standards
  • Object / Executable File Format
  • Debugger
  21 Hours
 

Testimonials

Related Courses

Circuits and Electronics Fundamentals

  14 hours

Digital Signal Processing (DSP) Fundamentals

  21 hours

Learning Vivado

  14 hours

FreeRTOS: Programming for Real Time Operating Systems

  7 hours

Embedded C Application Design Principles for Automotive Professionals

  14 hours

Embedded C Application Design Principles

  14 hours

Advanced Embedded Systems Development

  35 hours

Arduino Programming for Beginners

  21 hours

Raspberry Pi for Beginners

  14 hours

Microcontroller Design

  35 hours

Tensorflow Lite for Microcontrollers

  21 hours

Introduction to IoT Using Arduino

  14 hours

Building A Robot from the Ground Up

  28 hours