Pointers in C


BY RSS


What is pointer in C?

pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. Like any variable or constant, you must declare a pointer before using it to store any variable address.

get elrectronics accessories at low price

Why we use pointers?

pointers are used to create dynamic data structures -- data structures built up from blocks of memory allocated from the heap at run-time.pointers are also used to handle variable parameters passed to functions. Pointers provides an alternative way to access information stored in array

How to Use Pointers?

There are a few important operations, which we will do with the help of pointers very frequently. (a) We define a pointer variable, (b) assign the address of a variable to a pointer and (c) finally access the value at the address available in the pointer variable. This is done by using unary operator * that returns the value of the variable located at the address specified by its operand.

NULL Pointers

It is always a good practice to assign a NULL value to a pointer variable in case you do not have an exact address to be assigned. This is done at the time of variable declaration. A pointer that is assigned NULL is called a null pointer.

Sr.No.
Concept & Description
1
There are four arithmetic operators that can be used in pointers: ++, --, +, -
2
You can define arrays to hold a number of pointers.
3
C allows you to have pointer on a pointer and so on.
4
Passing an argument by reference or by address enable the passed argument to be changed in the calling function by the called function.
5
C allows a function to return a pointer to the local variable, static variable, and dynamically allocated memory as well.

Example of pointers:-
#include<stdio.h>
int main()
{
int i,a[4]={10,20,30,40};
int *p;
p=a;
for(i=0;i<4;i++){
printf("\n%d" ,*p);
printf("\n %d",p);
 p++;
}
}

Null pointer:-

#include <stdio.h>

int main () {

   int  *ptr = NULL;

   printf("The value of ptr is : %x\n", ptr  );

   return 0;
}

Pointer In 2d array:-
#include<stdio.h>
  
int main()
{
  int arr[2][3] = {
                    { 10, 11, 12 },
                    { 20, 21, 22 }
                  };
  int i, j;
  for (i = 0; i < 2; i++)
  {
    printf("Address of %dth array = %p %p\n",  
                    i, arr[i], *(arr + i));
      
    for (j = 0; j < 3; j++)
      printf("%d %d ", arr[i][j], *(*(arr + i) + j));
    printf("\n");
  }
  
  return 0;
}

Note::-
If there any pointer is placed in the front of  function eg:- int *pte() then it is called as self refrrential pointer 
                                                                                       

Comments

Post a Comment