NIHAR RANJAN 0 Newbie Poster

POINTER

INTERDUCTION::

Pointer is a variable that can hold address value.
Pointer to integer is not type of integer

A questain may arises to your mind that why
Pointer variable is not declare like “pointer like
Integer as “Int .
Here is a problem science pointer can point any
Data type so compiler need to know what kind
Data type the pointer points

So rather than
Representing
pointer ptr;
it represented as
int *ptr;
char *ptr1;
etc…
PROPERTIES::

Consider this example
L1: int n;
L2:int *ptr
;
L1 interprets as declare n as integer type
Where
L2 interprets a sptr is a pointer to a integer
CASE1:
Now consider this two line
L1: int n1,n2;
L2 int * p1,p2;

L1: interpreted n1,n2 are both integer type variable
L2:interpreted that p1 is pointer to a integer where
P2 is only an integer CASE2:

Consider this representation

Int **….ptr;
It means that ptr is a pointer to a pointer…………..ponts to a int
CASE3:
Consider this example
L1: int *(ptr)[2]=arrptr;
L2 int * arr[2];

L1 interprets as a pointer to 2 integers
Where
L2 interprets array of pointers of 2 integers
VOID POINTER:

A single pointer that can holds address of different
Data type is known as void pointer
It declare as
Void *ptr;
Consider an example:
Int I;
Float f;
Int *ptr;
Void vptr;
Ptr = &I; // no error
Ptr = &f; // error
Vptr = &I; // no error
Vptr = &f; // no error

NB::
We can declare a reference to a pointer ,but we can.t
Declare a pointer to reference &can.t declare a
Reference to reference


FUNCTION POINTER:
Function pointer is confusing when we interpreting
When we interpreting a declaration
It is used in virtual function table &in some template

Ex:
Int (*ptr) (int);
It mean that ptr is a pointer which point to a function
Takng an argument of integer type & return a int type

EX2:
Int * * (*ptr) ( int, int)
It declare that ptr is a pointer to a function which
Takes two int return a pointer to pointer to a integer

CONSTANT POINTER:

Constant is a key word which prevents the reinitalisation
Of value of a variable
Consider this example
Const int i=1;
Int const j=2;

In this case both declaration I, j are constant intEx:
Int n;
Int * const a=&n;

It declare a constant pointer to a integer
If we declare as
Const int *const a=&n;
That mean we neither can change the pointer
Value & int value`

TYPEDEF DECLARATION:

Typedef key word allow to programmer to
Overcome type rule that mean
If we declare
typedef int *ptr;
Ptr p1,p2;

That mean here p1 & p2 are pointer
Which store address of intiger


In a complicate declaration first find the innermost “(
Parenthesis then identify the variable name move right when
A ) parenthesis is found move left jumps the left(“
This procedure continues till the end
Ex:

Int * ( * ( * ptr) ( int ) ) [5]
Ans: here ptr is the variable
So ptr is a pointer to a function that takes an integer argument
And returns a pointer to a array of 5 pointers of integer type


I feel this small tutorial helps to understanding
the pointer concept

Nihar ranjan Nayak
Mca(04) utkal university
Email: niharwait@yahoo.com
Orissa,India

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.