Pointers
Mr. Santosh N. Nagargoje
Introduction
Why Pointers?
Pointer Variable
data_type *pointer_variable_name; //declaration
pointer_variable_name = &variable_name; //storing an address of a variable
int *a //pointer to integer
float *b //pointer to float
char *n //pointer to character
Distance *dn //pointer to Distance class
Accessing the variable pointed to
* - dereference operator
// accessing the variable pointed to�#include <iostream>�using namespace std;�int main()�{�int var1 = 11; //two integer variables�int var2 = 22;
int* ptr; //pointer to integers�ptr = &var1; //pointer points to var1�cout << *ptr << endl; //print contents of pointer (11)�ptr = &var2; //pointer points to var2�cout << *ptr << endl; //print contents of pointer (22)�return 0;�}
Pointers and Arrays
//using index
for(){
* (array_variable_name + index );
}
//using pointer variable
pointer_to_array = array_variable_name;
for(){
* (pointer_to_array ++ );
}
Pointers & Functions
Pass by reference:
Pass by Pointers:
return_type function_name(data_type&); //function prototype
function_name(variable) ; //function call
return_type function_name(data_type& variable){
//function definition
}
return_type function_name(data_type*); //function prototype
function_name(&variable) ; //function call
return_type function_name(data_type* variable){
//function definition
}
Passing Arrays
return_type function_name(data_type *); //prototype
function_name(array_variable); //function call
return_type function_name(data_type* pointer_variable_name){
//function definition
for(){
*pointer_variable_name++;
}
}
Memory Management: new and delete
Memory Management: new and delete
delete[] ptr; //deletes block of data
delete ptr //deletes single data