0% found this document useful (0 votes)
35 views21 pages

In Today's Lecture: Pointers and Arrays Manipulations Pointers Expression Pointers Arithmetic

The document discusses pointers and arrays in C++. It defines pointers as variables that store the address of another variable. The & operator returns the address of a variable and * accesses the value at a specified address. Arrays are like pointers that contain the starting address of the array. Pointer arithmetic can increment, decrement, or add/subtract values from pointers to move through an array or manipulate data.

Uploaded by

Azhar Hussain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views21 pages

In Today's Lecture: Pointers and Arrays Manipulations Pointers Expression Pointers Arithmetic

The document discusses pointers and arrays in C++. It defines pointers as variables that store the address of another variable. The & operator returns the address of a variable and * accesses the value at a specified address. Arrays are like pointers that contain the starting address of the array. Pointer arithmetic can increment, decrement, or add/subtract values from pointers to move through an array or manipulate data.

Uploaded by

Azhar Hussain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

In Today’s Lecture

 Pointers and Arrays Manipulations


 Pointers Expression
 Pointers Arithmetic
The & and * Operators

 A pointer is a variable which stores the


address of another variable
 & is address operator: it gives us the address
of a variable
 * (value operator) gives us the value of a
variable at specified address
Example
#include <iostream.h>
int main()
{
int i =10;
cout<<“the value of variable i is”<< i;
cout<<“the memory address of i is”<<&i;
cout<<“the value of variable i using * operator”
<< *(&i);
return 0;
}
Pointers to anything

x some int
int *x;
int **y;
y some *int some int

double *z; z some double


Example
#include<iostream.h>
Int main()
{
Int i= 10;
Int *x = &i;
Int *y;
y= &i; //pointer assignment can also done as
Cout<<“the pointer x is stored at the memory address”<<&x<<endl;
Cout<<<“the pointer x stores the memory address of I :”<<x<<endl;
Cout<<“the value of I accessed through pointer x is :”<<*x<<endl;
// manipulate the value of I using poiter x
*x = *x + 1;
Cout<<*x<<endl;
Return 0;

}
Pointers and Arrays

int y [ 10 ] ; Starting Address of Array Y


Pointers and Arrays

The name of the array is like a


pointer which contain the
address of the first element
Declaration of a Pointer Variable

int y [ 10 ] ;
int *yptr ;
yptr is a pointer to integer
yptr = y ;
int y [ 10 ] ;
int *yptr ;
yptr = y ;
yptr ++ ;
Pointer
Example 1

#include<iostream.h>
main ( )
{
int y [ 10 ] ;
int *yptr = y ;
yptr = y ;
cout << yptr ;
yptr ++ ;
cout << yptr ;
}
yptr = y ;
is same as

yptr = &y [ 0 ] ;
……..
yptr = &y [ 2 ] ;
Example 2
#include<iostream.h>
main ( )
{
int y [ 10 ] ;
int *yptr ;
yptr = y ;
cout << yptr ;
yptr ++ ;
cout << *yptr ;
}
Example 3
main ( )
{
int x = 10 ;
int *yptr ;
yptr = &x ;
cout << yptr ;
cout << *yptr ;
*yptr ++ ; increment whatever yptr points to
}
Pointer Arithmetic

*yptr + 3 ;
cout << *yptr ;
*yptr += 3 ;
Pointer Arithmetic

yptr = &x ;
yptr ++ ;
Pointer Arithmetic

int x =10 ;
int *yptr ;
yptr = &x ;
*yptr += 3 ;
yptr += 3 ;
Decrementing

*yptr --
Pointer Arithmetic

int *p1 ,*p2;


…..
p1 + p2 ;
Error
Pointer Arithmetic

int y [ 10 ] ,
*y1 , *y2 ;
y1 = &y [ 0 ] ;
y2 = &y [ 3 ] ;
cout << y2 - y1 ;
Example

int y [ 10 ] ;
int *yptr ;
yptr = y ;
cout << y [ 5 ] ;
cout << ( yptr + 5 ) ;
cout << *( yptr + 5 ) ;

You might also like