C, C + Training

C Basics

  • History of C
  • Characteristics of C
  • C Program Structure
  • Variables
    Defining Global Variables
    Printing Out and Inputting Variables
  • Constants
  • Arithmetic Operations
  • Comparison Operations
  • Logical Operators
  • Order of Precedence

Conditionals

  • Conditionals
  • The if statement
  • The? Operator
  • The switch Statement

Looping and Iteration

  • The for statement
  • The while statement
  • The do-while statement
  • Break and continue

Arrays and Strings

  • Defining, initializing and using arrays
  • Single and Multi-dimensional Arrays
  • Arrays of Characters and Strings
  • Arrays and pointers
  • Strings

Functions

  • Role of Functions
  • Passing arguments to functions
  • Returning values from functions
  • Recursive functions
  • Call back functions
  • Implications on Stack
  • Pass by value / reference
  • Passing Arrays to functions

String Handling :

  • Basic String handling functions
  • String Searching
  • Character Conversions and testing : <ctype.h>
  • Memory Operations: <memory.h>

Structures and Unions

  • Structures
  • Nested Structures
  • Array of Structures
  • Allocation of memory and holes
  • Unions

Further Data Types

  • Coercion or Type-Casting
  • Enumerated Types
  • Static Variables

Dynamic Memory Allocation & Dynamic Structures

  • Malloc, Sized, and Free
  • Calloc and Realloc

Advanced Pointer Topics

  • The purpose of pointers
  • Defining pointers
  • The & and * Operators
  • Pointer Assignment
  • Pointers with functions
  • Pointer Arithmetic
  • Advanced pointer types
  • Pointers to functions
  • Pointers to String
  • Pointers and Dynamic memory
  • Pointers and Structures
  • Common Pointer Pitfalls
    Not assigning a pointer to memory address before using it
    Illegal indirection

Storage Classes

  • Scope
  • Internal
  • External
  • Automatic
  • Static
  • Scope and extent of parameters

Low Level Operators and Bit Fields

  • Bitwise Operators
  • Bit Fields
    Bit Fields: Practical Example
    A note of Caution: Portability

The C Processor

  • #define
  • #undef
  • #include
  • #if – conditional inclusion
  • Preprocessor Compiler Control
  • Other Preprocessor Commands