C - Programming
CHARACTERISTICS OF C PROGRAM
1.Structure Programming Language. 2.C uses Top Down Approach. 2.C has rich set of operators. 3.C has abandoned number of Inbuilt (Library ) functions. 4.Using C Program both system s/w and Application s/w can be developed. 5.C is a middle level language. 6.It is highly portable. 7.It is highly efficient.
GETTING STARTED WITH C
Learning English
Alphabets Words Sentence Paragraph
Learning C
Alphabets, Numbers, Character sets Keywords, Constants, Variables Instructions, Statements Functions
Programs
C CHARACTER SET
1.Alphabets - A-Z (Upper case) and a-z (Lower case).
2.Digits - 0 to 9.
3.Special Characters Eg: + , - , * , %, / , = , \(back slash),& (ampersand),
( Almost all the characters in the key board is supported by C)
C Tokens
1.Key Word (Reserved Words) - int,while,for,main 2.Identifiers - Names given to various program elements. Variables, constants, Functions, arrays etc.,
3.Constants Any Entity whose value remains the same throughou the program execution is a constant. Numerical constants 1.Interger constants 2 2.Real constants 50.6 Character Constants 1.Single Character Constant 2.String Constant
A Hai
ESCAPE SEQUENCE
Escape sequence or Back slash character constant
or non-printable characters.
The character such as single quotes, Double quotes and
control characters are displayed using escape sequence. The character preceded with a Back slash is said to be a Escape sequence character. Eg: 1.\n - New line character. 5.\\ - Back slash 2.\t - Horizontal tab 6.\? - Question marks 3.\v - Vertical tab 7.\ - Single Quotes 4.\0 - Null 8.\ - Double quotes
DATA TYPES
Two types of Statements in C Declarative statement - used to allocate memory for variables depend on data types Executable statement - used to do specific task Data Types in C
Primary or Basic Data Types Eg: Int,char, Float,Double etc.,
User Defined Data Types Eg: Type def
Derived Data Types Eg:Arrays and Structured
Null Data Type Eg:Void
C DATA TYPES
Data Types Int Char Float Double Memory space allocated 2 Bytes 1Byte 4 Bytes 8 Bytes Range of values Control Strings or Format Descriptor %d %c %f %lf
-32,768 to 32,767 -128 to 127 3.4e-38 to 3.4 e+38 1.7e-308 to 1.7e+308
Type Qualifiers:
Short, Long, Signed, unsigned Qualifiers are used to increase or decrease the range
Of values for data types
VARIABLE DECLARATION
Declaration tells the variable name to the compiler and
specifies the type of data. Based on the data type the compiler will allocate appropriate memory space for those variables. Syntax: data-type v1,v2,.,vn; Where Data Type is one of the primary type V1,v2,,vn are varables ; All statements in C pgm are to be terminated using semi colon , Variable separator ( Delimiter)
ASSIGNING VALUES TO VARIABLES
Values can either be supplied as i/p through input statement or constant values can be assigned to the variables during declaration. Initialization during Declaration: int a=10; char b=A float c=2.7
C - STRUCTURE
Documentation Section Header File Section or Link Section Global Variable Declaration Main() Function { Local Variable Declaration; Executable Statements; .; .; } Sub Program { Statements; }
Sections of C
Documentation Section: It contains a Single Comment Lines or a set of comment lines.
To specify the details of the program comments are being used
The statements with in comment will not be executed. It increases the readability of the program
Documentation Section
Examples:
\\ Simple C Program #include<stdio.h> /*void main() { Declarative statement; Executable statements; }*/ - Single Line comment - Double Line comment
\\ /* */
Sections of C
Header File Section: It is used to include the corresponding Header files based on the in-built functions used in the program
It is other wise said to be preprocessor section. Eg: 1.#include<stdio.h> - Includes standard i/p inbuilt funtions. 2.#include<conio.h> - Console i/p header file 3.#include<string.h> - String library 4.#include<ctype.h> - Character testing header file
Header File section
Example:
#include<stdio.h> #include<conio.h> #include<string.h> #include<ctype.h> To include the in-built functions in the main program the corresponding header files are to be included for proper execution.
Global Variable Section
The variables which are declared out side the
main( )Function is said to be a Global Variable. The values of Global variables can be accessed by all the functions in a given program
The variables which are declared inside the
function is said to be Local variable. The first statement with in any function should be a Local variable declaration statement.
Global Variable Section
Examples: #include<stdio.h> int a=10; // Global variable void main( ) { int a=20; // Local Variable printf(%d,a); f1( ); } f1( ) { printf(%d,a); } Output: 20 10
The Main( ) Section
The Program execution starts in a c program
only from main( ) function.
All C Programs should have exactly one main( )
function.
The { (open brace) denotes the start of the main( )
function. And } (close brace) denotes the end of main( ) function.
All the statements written with in these braces form
the Function body.
The Main Function
Examples: #include<stdio.h> void main( ) // Program execution starts here { // starting of main function
Statements; // Body of main funtion
} // Ending of main function
Memory Allocation for variables
Example:
main( ) { int a,b; float c; char ch; }
Memory Allocation for variables
int a,b; Float c;
1000-1001 (2 Bytes)
2000-2001 (2 Bytes)
3000-3003 (4 Bytes)
char ch;
4000 (1 Bytes)
OPERATORS
Operator & Operand Types of Operators: 1.Arithmetic Operators 2.Relational Operators 3.Assignment Operators 4.Increment and Decrement Operators 5.Conditional or Ternary Operators 6.Bitwise Operators 7.Special Operators
ARITHMETIC OPERATORS
Operators + / * % Meaning Addition Subtraction Division Multiplication Example 2+9 = 11 9-2 = 7 4/2=2 3*2=6
Modulo Division 4 % 2 = 0
Division operator returns Quotient and Modulo operator Returns Reminder.
Unary & Binary Operators
RELATIONAL OPERATORS
Operators Meaning Example Returns
<
<= > >= == !=
Is less than
Less than or equal to Greater than Greater than or equal to Equal to Is not equal to
2<9
5<=2 4>9 3>=1 2==3 4!=4
1
0 0 1 0 0
Relational Operators Compares Right hand side value along with left hand side Value and returns either 1 or 0 depend on the operator used.
Example Examples: #include<stdio.h> void main( ) { printf(condition Return value); printf(\n5!=5: %d,5!=5); printf(\n5==5: %d,5==5); printf(\n5>50: %d,5>50); printf(\n5<50): %d,5<50); } Condition Return value 5!=5: 0 5==5: 1 5>50: 0 5<50: 1
Output:
LOGICAL OPERATORS
Operators && || ! Meaning Example Returns
Logical AND (9>2)&&(17>2) 1 Logial OR (9>2)||(17==7) 1 0
Logical NOT 29!=29
Example
Examples: #include<stdio.h> void main( ) { int a=1; printf(condition Return value); printf(\n1.%d,((2>5) && (5>2))); printf(\n2. %d, ((2>5) || (5>2))); printf(\n3. %d, !a); } Condition Return value 1. 0 2. 1 3. 0
Output:
Increment and Decrement Operators
Increment Operator ++ (Increments the value of a variable by 1) Decrement Operator -- (Decrements the value of a variable by 1) Eg: if a=2
1.a++ => a=a+1 = 2+1 = 3
2.a-- => a=a-1 = 2-1 = 1
Types of Inc and Dec Operators
1.Post Increment a++ 2.Post Decrement a-3.Pre Increment ++a 4.Pre Decrement --a
Placing the operator after the variable is Post. In post variable value is incremented only then operation is performed on the variable.
Placing the operator before the variable is Pre. In pre operation is performed on the variable only then the value is decremented by 1.
Example Examples: #include<stdio.h> void main( ) { int a=10; printf(%d,a); printf(%d,a++); printf(%d,a--); printf(%d,++a); printf(%d,a); printf(%d,--a); printf(%d,a); }
Output: 10 11 10 10 11 11 10
Assignment Operator Assignment operator is used to assign values in right hand side to the left hand side variable
Ex: x = 10; x = a + b; x = y = z (Nested or Multiple assignment operator) x=y=2
Compound Assignment Operator
Combination of arithmetic and assignment operator is
said to be Compound assignment operator.
Operators +=
Example x+=y
Example x=x+y
-=
*= /= %=
x-=y
x*=y x/=y x%=y
x=x-y
x=x*y x=x/y x=x%y
Conditional or Ternary Operator
It checks the condition and executes the statement
depending on the condition. Syntax Description Condition ? exp1 : exp2 ? acts as Ternary Operator, It first evaluates the condition, if it is true then exp1 is evaluated else exp2 is evaluated ( It is just similar to if else statement) Int a=5,b=3; Big=(a>b) ? a : b Printf(Big is %d,big);
Example
BITWISE OPERATOR
It is used to manipulate the data at bit level. It
operates only on intergers Operators & Meaning Bitwise AND
|
^ << >> ~
Bitwise OR
Bitwise XOR Shift Left Shift Right Compliment
SPECIAL OPERATOR
Special operators are used for special purposes.
Operators , Sizeof( ) Meaning Comma Operators Size of Operator( it returns the size of variable or data type) Pointer operator( & address of operator and * - Value at address operator Member access operators (Structure)
& and *
. and
OPERATOR PRECEDENCE
*Mathematical Evaluation of an Expression ( BODMAS) rule is applied *Evaluating expression using computer applies Rule of Precedence. Rule of Precedence:
Precedence High Precedence Operators ( ) Paranthesis ^ - Exponential / & * -Division & Multiplication + & - Add and Sub
Low Precedence
= (Assignment operator)
Example
Evaluate: 3 9 / 3 + 77 * 3 -1 ??????
Example
Evaluate: 3 9 / 3 + 77 * 3 -1 => 3 (9 / 3) + 77 * 3 -1 => 3 3 + 77 * 3 -1 => 3 3 + (77 * 3) -1 => 3 3 + 231 1 => (3 3) + 231 1(Equal Precedence
evaluate from left to right)
=> (0 + 231) -1 => 231 1
=> 230
Example
Evaluate: (8/2) 6/3 + 7-2 * (4%3)+ 3 -1 ??????
Statements in C
1.Input and Output statements 1.1 Formatted and unformatted i/p 2.Decision Making 2.1. if Statement 2.2. if else statement 2.3. if else if else (Multiple if stmt) 2.4. Nested if 3.Selective statement ( Switch - case ) 4.Looping Statement 4.1.While loop 4.2.do While Loop 4.3. for - Loop
Statements in C
5.Control Transfer Statements 5.1. Break ( Block Terminator ) 5.2. Continue ( Skips an iteration ) Both Break and Continue are used in Loop and is executed based on the condition.
5.3. Exit( ) used to terminate the program 5.4. Go to - Transfers the control from current statement to any of the statement in a program.
Input and Output statements
Input and output functions
Unformatted I/O Statements.
1.getchar( ); 2.Putchar( ); 3.gets( ); 4.puts( ); 5.getch( );
Formatted I/O Statements.
1.printf( ); 2.scanf( );
Formatted input output statement
Input statement: Scanf( ) used to read any type of values From the standard input device (Key Board).
Syntax Description Scanf( control string,&var1,&var2,..&varn); The control string must begin with a percentage sign % followed by conversion character. & - Address of Operator
int a,b,c Scanf( %d %d %d,&a,&b,&c);
Example
Control Strings
Format Code %c %d %S Meaning Single character Integer Strings
%f
%ld
Float
Long int
Formatted input output statement
Output statement: printf( ) used to print text or variables values in output screen. From the standard input device (Key Board).
Syntax 1.printf( Text); - The text specified in will be printed in output screen. 2.Printf( control string,var1,var2,varn); Specified values of the variables will be printed based on control string. int a=1 printf( print the value of a:); Printf(%d,a);
Example
Unformatted I/O Statement
Single character i/p function: 1.getchar( ) Single character i/p function. 2.getch( ) Single character i/p function.
Syntax Description Char variable = getchar( ); The getchar( ) function reads a single character as i/p from the keyboard and assigns it to the character variable.
Example
char c; c=getchar( );//reads single character.
Unformatted I/O Statement
Single character o/p function: 1.putchar( ) Single character o/p function.
Syntax Description
putchar( char variable ); The putchar( ) function prints the value of character variable to output screen.
Example
char c=A; putchar( c );
OutPut: A
Example
#include<stdio.h> #include<conio.h> Void main( ) { char c; Printf(Enter the character:); Scanf(%c,&c);// c = getchar( ); Printf(%c,c);// putchar( c ); Printf(%d,c);
Output: Enter the character: A A 65 // Ascii value of A is 65 and a is 97
String I/O function
1.gets( ) Reads a string as input 2.puts( ) prints a string in output screen.
Syntax Description string variable = gets( ); The gets( ) function reads a string i/p from the keyboard and assigns it to the string variable. char name[ 10 ] ;//String variable declaration name=gets( );//reads string character.
Example
String I/O function
puts( ) prints a string in output screen.
Syntax 1.puts(string variable ); 2.Puts( Text );
Description
The puts( ) function prints a string to output screen. It can print either a string variable value or prints a text with in
char c[ 10 ] ;//String variable declaration c=gets( );//reads string character. Puts( Value of c is: ); Puts( c );//prints value of c Output: God Value of c is: God
Example
Example
#include<stdio.h> #include<conio.h> Void main( ) { char name[ 10 ]; Printf(Enter the string:);//puts(Enter the string); Scanf(%s,&name);// name=gets( ); Printf(%s,name);// puts( name );
Output: Enter the string: God God
Character Testing Function
Function
Isalpha(a)
Returns
1-if true 0- if false 1-if true 0- if false 1-if true 0- if false 1-if true 0- if false 1-if true 0- if false 1-if true 0- if false
Test
Tests whether a is alphabet
Isdigit(a)
Tests whether a is digit
Isupper(a) Islower(a) toupper(a) tolower(a)
Tests whether a is upper case or not Tests whether a is Lower case or not Converts a to uppercase Converts a to lowercase
Example
#include<stdio.h> #include<ctype.h> Void main( ) { Char ch; Puts(Enter the char:); ch=getchar( ); if(isalpha(ch) printf(alphabet); if(isupper(ch) printf(upper case); if(islower(ch) printf(Lower case); }
output:
Enter the char:A alphabet uppercase
Example
#include<stdio.h> #include<ctype.h> Void main( ) { Char ch; Puts(Enter the char:); Ch=getchar( ); if(isupper(ch) { printf(upper case); printf(%c,tolower(ch)); } else { printf(lower case); printf(%c,toupper(ch)); } output: Enter the char:A alphabet uppercase
Converting Upper to Lower and Lower to upper without using inbuilt functions
#include<stdio.h> #include<conio.h> Void main( ) { Char ch; Printf(Enter the character:); ch=getchar( ); if( (ch>=a) && (ch<=z)) ch=ch-32; else if( (ch>=A) && (ch<=Z)) ch=ch+32; else printf(\nEnter a valid alphabet); Printf(%c,ch); } Output: Enter the character:A a Enter the character:f F
Conditional Statements
1.If Statement without else 2.If else Statement 3.If else if Statement (Multiple if Statement) 5.Nested if Statement
If - Statement
Syntax:
if ( Condition ) { Statements; ---------------; } Ex: int a=1,b=2,c=3; big=a; if( b > big ) big=b; if( c > big ) big=c; printf(Big = %d, big);
If - else Statement
Syntax: if ( Condition ) { Statements; ---------------; } else { Statements; ---------------; } Ex:
int a=1,b=2; if( a > b ) printf( a is big); else
printf( b is big);
If else - if Statement
Syntax:
if ( Condition ) { Statements; ---------------; } else if ( Condition ) { Statements; ---------------; } . . else { Statements; ---------------; }
Example
1.Write a C Program to find Biggest of 3 Nos. 2.Write a C program to print Distinction, 1st class,2nd class and fail based on conditions 1.avg > = 75 Distinction 2.(avg>=60)&&(avg<75) 1st class 3.(avg>=45)&&(avg<60) 2nd class 4.(avg<45) Fail
Nested - If Statement
Syntax:
if ( Condition ) { if ( Condition ) { Statements; ---------------; } else {
Statements; ---------------;
} } else { Statements; ---------------; }
CASE STATEMENT
Syntax: Switch( expression or value) { Case 1: statements; ----------------; break; Case 2: statements; ----------------; break; Case 3: statements; --------------; break; . . Default: statements;
CASE STATEMENT
Syntax: Switch( Character ) { Case c: statements; --------------; Case c: statements; --------------; Case c: statements; --------------; .. ; Default: statements; } Where c is any character
While Loop (Top Tested)
Syntax: While( condition ) { Statements; ---------------; }
Do-While Loop
Syntax: do { Statements; ---------------; } While( condition );
For Loop
Syntax: for( Initialization; Condition; Inc / Dec) { Statements; ---------------; }
Nested For Loop
Syntax:
for( Initialization; Condition; Inc / Dec)//Outer Loop { for( Initialization; Condition; Inc / Dec)//Inner Loop { Statements; ---------------; } }
Example
#include<stdio.h> #include<conio.h> Output: Void main( ) ----------{ Enter the value of n:4 Int n,i,j; **** Clrscr( ); *** Printf(enter the value of n:); ** Scanf(%d,&n); * for(i=0;i<n;i++) { for(j=i;j<n;j++) printf(*); Printf(\n); }
Example
#include<stdio.h> #include<conio.h> Output: Void main( ) ----------{ Enter the value of n:4 Int n,i,j; 1234 Clrscr( ); 234 Printf(enter the value of n:); 34 Scanf(%d,&n); 4 for(i=1;i<=n;i++) { for(j=i;j<=n;j++) printf(%d,j); Printf(\n); }
Try it out
1. 1 2 3 4 123 12 1 2. 1 0 1 0 101 10 1 3. 1 12 123 1234 1 10 101 1010
4.
Control Transfer Statements
1. Break ( Block Terminator ) 2. Continue ( Skips an iteration ) Both Break and Continue are used in Loop and is executed based on the condition.
3. Exit( ) used to terminate the program 4. Go to - Transfers the control from current statement to any of the statement in a program.
Break- Loop Terminator
The break statement is used to terminate the loop. When break is executed inside a loop control automatically transferred to the first statement after the loop. Break is usually associated with an if statement. While( condition ) { -------; if(condition) break; -------; }
Example #include <stdio.h> #include<conio.h> Void main( ) { int i; for( i = 1; i <= 5; i++) { if( i == 3 ) break; printf(%d,i); } }
Output: 12
Continue
The continue statement skips an iteration in a loop. It transfers the control to the beginning of the loop.
While( condition ) { -------; if(condition) continue; -------; }
Example #include stdio.h> #include<conio.h> Void main( ) { int i; for( i = 1; i <= 5; i++) { if( i == 3 ) continue; printf(%d,i); }
Output: 1245
Goto Statement
A goto statement can cause program control almost anywhere in the program unconditionally. Syntax: goto label;
goto label; ---------; ---------; label:
Example
#include stdio.h> #include<conio.h> #include<stdlib.h> Void main( ) { int a,b; Printf(Enter the numbers:); Scanf(%d %d,&a,&b); if( a == b ) goto equal; else { printf(A and B are not equal); exit(0); } equal: printf( A & B are equal); }
Unit - 5
Topics
1.Functions
2.Arrays
3.Pointers 4.Structures 5.Union
Functions Types of Functions: 1.Inbuilt or Library Function: Functions which are already available or predefined are said to be inbuilt or Library Functions
2.User Defined Function. Functions that are defined by the user are said to be user defined function.
String Manipulating Functions
1.String Length. 2.String Copy. 3.String Concatenation. 4.String Compare. 5.String Reversal.
All string Manipulating Functions are stored in String.h header file.
String Length
1.String Length Is used to find the Length of a string. Syntax: int variable = strlen( string variable )
Eg:
char name[10]; int a; name = gets( ); a = strlen( name ); Printf(%d,a);
output: God 3
String Copy
1.String copy String copy function is used to copy the content of one string to another. Syntax: strcpy( s1 , s2 ); Content of s2 will be copied to s1 S2 Source S1 Destination
Eg: char s1[10],s2[10]=program; strcpy(s1,s2); puts(s1); puts(s2); output: program program
String Concatenation
1.String concatenation The function is used to concatenate (Combining Two strings together) the content of one string to another. Syntax: strcat( s1 , s2 ); Content of s2 is cocatenated with s1 S1 Destination contains the concatenated string
Eg: char s1[10]=Comp; char s2[10]=uter; strcpy(s1,s2); puts(s1);
output: computer
String Reversal
1.String Reversal String reversal function is used to reverse a given string. Syntax: strrev( s1); S1 String to be reversed.
Eg: char s1[10]=Test; strrev(s1); puts(s1);
output: tseT
String Compare
1.String compare String compare function is used to compare two strings for equality. Syntax: strcmp( s1 , s2 ); Corresponding characters(Ascii) in s1 and s2 are compared. After comparing if all the corresponding character in s1 and s2 are equal then the function returns 0 (s1 and s2 are equal) The function returns the ascii difference of dissimilar character if both strings are not equal.
Case(i) S1 = TEST S2 = TEST In both s1 and s2 all the characters are equal hence the function strcmp( ) returns zero ( 0 ).[ String s1 & s2 are equal ]
Case(ii) S1 = Anil [ Ascii of A = 65 ] S2 = anil [ Ascii of a = 97 ] A and a are dissimilar characters hence the function strcmp( ) returns their ascii difference which is negative, hence returns 1( string s2 is greater than s1 )
Example
Inbuilt Library Functions
1.I / O Manipulating Functions: 1.printf( ) 2.Scanf( ) 3.getchar( ) 4.putchar( ) 5.gets( ) 6.puts( ) 2.Character Testing Functions: 1.isupper( ) 2.islower( ) 3.toupper( ) 4.tolower( ) 3.String Functions: 4.Mathematical Functions 5.File Handling Functions. Refer your book for more In-built functions.
User Defined Functions
Functions that are defined by the user are said to be user defined function. Terms used in Functions: 1.Function Declaration or Prototype. 2. Function Call. 3.Function Definition.
Example
float f1( int , int); //Declaration or prototype Void f2( ); Void main( ) float f1( ) void f2( )(Definition) { { { -------; -----; -----; f1( );//Function Call -----; -----; f2( ); return( ); } } }
User Defined Function Function Prototypes:
1.Function without arguments and without return type. 2.Function without arguments and with return type. 3.Function with arguments and without return type. 4.Function with arguments and with return type.
Arguments or Parameters
The variables that are passed in a function are said
to be arguments or Parameters. Eg: void main( ) f1( int x, int y) { { int a,b,z; int c; z=f1( a, b); c=a+b; printf(%d,z); return( c ); } } Where a & b are Actual Parameters Where x & y are Formal Parameters The memory Address of Actual Parameter and formal Parameters are Different.
1.Function without arguments and without return type.
Void swap( ); Void main( ) { swap( ); //Function call; }
void swap( ) //Definition { int a,b,t; printf(Enter a & b:); scanf(%d %d,&a,&b); t = a; a = b; b = t; printf(Swapped Values:); printf(%d %d,a,b); }
2.Function without arguments and with return type.
Void add( ); Void main( ) { int z; z=add( ); printf(Sum=%d,z); }
void swap( ) //Definition { int a,b,c; printf(Enter a & b:); scanf(%d %d,&a,&b); c=a+b; return( c ); }
3.Function with arguments and without return type.
Void add(int ,int ); Void main( ) void add(int x, int y ) //Definition { { int a,b; int c; printf(Enter a & b:); c=x+y; scanf(%d %d,&a,&b); printf(sum=%d,c); add(a,b ); } }
Where a & b in main( ) are actual Parameters.
X & y in add( ) are Formal Parameters.
4.Function with arguments and with return type.
int add(int ,int ); Void main( ) int add(int x, int y ) //Definition { { int a,b,z; int c; printf(Enter a & b:); c=x+y; scanf(%d %d,&a,&b); return( c ); z=add(a,b ); } printf(Sum=%d,z); }
Where a & b in main( ) are actual Parameters. X & y in add( ) are Formal Parameters.
Recursive Function or Recursion
A Function which calls the same function itself again and again until some condition is satisfied is said to be Recursive function
Eg:
main( ) { f1( ); } f1( ) {
f1( );
}
Example
//Factorial using recursion #include<stdio.h> #include<conio.h> int fact(int); void main() { int n,z; clrscr( ); printf("Enter the value of n:"); scanf("%d",&n); z=fact(n); printf("\nFactorial of %d is %d",n,z); getch(); } int fact(int n) { int x; if(n==0) return(1); else { x=n*fact(n-1); return(x); } }
Arrays
Int a; a=1,2,3,4; X Multiple values cannot be stored in a normal integer variable. To store Multiple values under a common variable name we use the concept of array.
Arrays
Definition: An Array is a collection of similar data type under a common variable name.
The elements in an array are stored in consecutive or sequential memory location Dissimilar data items cannot be stored in an array
Arrays - Declaration
Syntax: Data type variable name [ size ]; Eg: int a[5]; aarray of type int capable of holding max 5 integers.
a[0] a[1] a[2] a[3] a[4]
1000 - 1001
1002 - 1003
1004 - 1005
1006 - 1007
1008 - 1009
Pointers
int a=1,b;
a b
1000 1001
1002 1003
b = a; // b=1;
b = &a; X &a = 1000 Address can only be stored in pointer variable.
Pointers
Definition: A variable which is capable of holding address of another variable is said to be a pointer variable. Using pointer variable it is easier for accessing memory location of another variable.
Pointers - Declaration
Syntax:
Data Type * variable; Where data type Type of variable whose address is to be stored in pointer variable. * Value at address operator or pointer operator.
Pointers
int a=1,b; int *b; // b is a pointer variable
a 1
1000 1001
b
1000 1002 1003
b = &a; &a = 1000 ; b=1000 b is pointing to address location 1000 *b = * (1000) = 1 Using pointers it possible to access value of another variable by storing its address.