Fundamental concept of Problem solving
Problem solving strategies
Program design & implementation
Introduction to C
Introduction to C
How to open C program code window
Description of C code window
Editing File
Saving and Running a program
The components of C language
Structure of C Program
A sample of C language program
C character set and keywords
C character set and keywords
The C character set
Key words
Data Types
Data Types
Primary Data Type
Secondary Data Type
Rules for constructing variables names
Variable declaration
Assigning values to variables
Scope of variables: Local & Global
Character constants
Integer constants
Real constants
Logical & String constants
C instruction set
Type Declaration & Input/Output Instructions
Arithmetic Instructions
Control Instructions
Arithmetic operators
Relational operators
Logical operators
Increment & Decrement operators
Bitwise operators
Conditional & ternary operators
The comma operators
Size of operator
Assignment operator
Type modifier
Evaluation of expression
Automatic type conversion
Basic Input/Output
Console I/O function
Disc & Port I/O function
Control Structures
Sequence control statements
Decision control & conditional statements
Case control statements
Repitition & loop control statements
Some more statements
Array and String
Introduction of Array
Array Declaration
Array Initialization
Two Dimensional Array
Multi Dimensional Array
Function and Recursion
Function Definition
Function Declaration
Function Call
Pointer expression
Pointer & functions
Pointer & Array
Multi Dimensional Arrays & Pointer
Arrays of Pointer
Use of Pointer & functions
Giving values to member
Structure Initialization
Comparison of structure variables
Arrays of structures
Arrays within structures
Structures within structures
Passing structure to function
Accessing a union member
Initialization of Union variable
Uses of Union
Dynamic Data Structure
Linked list
Data File Handling through C
File operation
Opening & closing a data file
Creating a data file
Processing a data file
Unformatted data file
C Preprocessor & Macro
Macro substitution directives
File inclusion
Compiler control directive
Command line parameter of C
Command line parameter
Header file
Header file
Use of library functions
Some Useful library functions

Function and Recursion

Function Call

Function can be called either by value or by reference .A function can be called by specifying its name followed by a list of arguments enclosed in parentheses and separated by commas.
From the above example the following line is used as a function call:
sum=add(a,b); /* function call */
Call by value: Call by value means directly pass value within the function.
An example program of call by value:
Output of the program
Call by reference: Call by reference means sending the addresses of the argument to the called function.
In this method the addresses of actual arguments in the calling function are copied into formal arguments of the called function. (later discussed in pointer section)
The Return Statement
Information is returned from the function to the calling portion of the program via return statement.
General form of return statement:
Storage Classes
There are two different ways to characterize variables:
1. By data type
2. By storage Class
Data type refers to the type of information while storage class refers to the life time of a variable and its scope within the program.
A variable in c can have any one of the four storage classes:
1. Automatic Variable:
It is created when the function is called and destroy when the function is exited. Hence the name is Automatic. By default a variable is declared Automatic.
2. External Variable:
It is also known as Global Variable. This variables can be accessed from any function that falls within their scope.
3. Static Variable:
A static variable may be either internal or external type , depending on the place of declaration.
Internal static variable extends up to the function in which they are defined and external static variable is declared outside of all function and is available to all the functions in the program.
4. Register Variable:
We can tell the compiler that a variable should be kept in one of the machine's registers, instead of keeping in the memory (where normal variables are stored ).
Since, a register access is much faster than a memory access and keeping the frequently accessed variables in the register will lead to faster execution of programs.