TopBottom

Followers



Click on more
SUBSCRIBE

Enter your email address:

Delivered by FeedBurner



VIDEO

Announcement: wanna exchange links? contact me at ravikrak@yahoo.com

Basic Pointers

Posted by Ravi Kumar at Sunday, September 25, 2011
Share this post:
Ma.gnolia DiggIt! Del.icio.us Yahoo Furl Technorati Reddit

Pointer Definition: Pointer is a variable which contains
the address of another variable.Reasons for using pointer:
1.A pointer enables us to access a variable that is
defined outside the function.
2.Pointers are more efficient in handling the data tables.
3.Pointers reduce the length and complexity of a program.
4.They increase the execution speed
5.The use of pointer array to character strings results
in saving of data storage space in memory.

Representation of a variable:
Consider the following statement
int *p;
int quantity=179;
p=&quantity;
Here p is a pointer variable of type integer,which
holds the address of the variable quantity.

Declaring and initializing pointers:
In c,every variable must be declared for its type since
pointer variable contain address that belong to a seperate
data type, they must be declared as pointers before we use
them.The declaration of a pointer variable takes the
following form.
data type *pt-name;
This tells the compiler three things about the variable
pt-name
1.The asterick(*) tells that the variable pt-name is a
pointer variable.
2.pt-name needs a memory location.
3.pt-name points to a variable of type data type.

for example,
int *p;
declares the variable p as apointer variable that
points to an integer data type.Remember that the type int
refers to the data type of the variable being pointed to
by p and not the type of the value of the pointer.

Program to print the address of a variable along with
its value.

main()
{
char a;
int x;
float p,q;
a='A';
x=125;
p=10.25,q=18.76;
printf("%c is stored at addr %u \n",a,&a);
printf("%d is stored at addr %u \n",x,&x);
printf("%f is stored at addr %u \n",p,&p);
printf("%f is stored at addr %u \n",q,&q);
}
Output:
A is stored at addr 4436
125 is stored at addr 4434
10.250000 is stored at addr 4442
18.760000 is stored at addr 4438.

Accessing variables using pointers

main( )
{
int x,y;
int *ptr;
x=10;
ptr=&x;
y=*ptr;
printf("value of x is %d\n\n",x);
printf("%d is stored at addr %u\n",x,&x);
printf("%d is stored at addr %u\n",*&x,&x);
printf("%d is stored at addr %u\n",*ptr,ptr);
printf("%d is stored at addr %u\n",y,&*ptr);
printf("%d is stored at addr %u\n",ptr,&ptr);
printf("%d is stored at addr %u\n",y,&y);
*ptr=25;
printf("\n Now x=%d\n",x);
}

Ouput:
value of x is 10
10 is stored at addr 4104
10 is stored at addr 4104
10 is stored at addr 4104
10 is stored at addr 4104
4104 is stored at addr 4106
10 is stored at addr 408. Now x=25.

Share |

Labels:

0 comments:

Post a Comment