Pointer in Array in C

 


1. Program to add two number using pointer.

#include<stdio.h>
#include<conio.h>
void main()
{
int *ptr,a,b,c;
int *ptr1,*ptr2,*ptr3;   ::::  *=value at address ::: &= address of operator
printf("Enter the value of a and b\n");
scanf("%d %d",&a,&b);
ptr1=&a;
ptr2=&b;
ptr3=&c;
*ptr3= *ptr1 + *ptr2;
printf("The sum is %d" ,*ptr3);
getch();
}
Output:


















2.  Void Pointer: It can hold address of variable of any type.
eg:

#include<stdio.h>
#include<conio.h>
void main()
{
int x;
float y;
void *ptr;
ptr=&x;
printf("Enter the value of x and y\n");
scanf("%d %f",&x,&y);
printf("Value printed by ptr is %d\n",*(int *)ptr);
ptr=&y;
printf("value printed by ptr is %f\n",*(float *)ptr);
getch();
}
Output:


















3. Subtraction of pointer from pointer

#include<stdio.h>
#include<conio.h>
void main()
{

int a[5]={1,2,3,4,5};

int *ptr1,*ptr2;

ptr1=&a[10];

ptr2=&a[4];

printf("The difference is %d",ptr2-ptr1);

getch();
}
Output:











Here the address is subtracted ie a[4] -a[10] = -6.

4. Comparision of pointer and pointer
#include<stdio.h>
#include<conio.h>
void main()
{

int a[5]={1,2,3,4,5};

int *ptr1,*ptr2;

ptr1=&a[10];

ptr2=&a[5];
if(ptr1==ptr2)
{
printf("Both pointer are pointing to same value");
}
else
{
printf("Both pointers are not pointing to same value");
 }
getch();
}
Output:




 Also if

#include<stdio.h>
#include<conio.h>
void main()
{

int a[5]={1,2,3,4,5};

int *ptr1,*ptr2;

ptr1=&a[10];

ptr2=&a[10[;
if(ptr1==ptr2)
{
printf("Both pointer are pointing to same value");
}
else
{
printf("Both pointers are not pointing to same value");
 }
getch();
}

5. Program to input an element in an array and display it using pointer.

#include<stdio.h>
#include<conio.h>
void main()
{
int a[5],i,n;
int *ptr=&a[0];
printf("Enter the size of array\n");
scanf("%d",&n);
printf("Enter data elements\n");
for(i=0;i<n;i++)
{
scanf("%d",(ptr+i));
}
printf("The array elements are\n");
for(i=0;i<n;i++)
{
 printf("%d\t",*(ptr+i));
 }
getch();
}

Output:

6. Program to input an element in an array and display it and find sum of all elements using pointer.


#include<stdio.h>
#include<conio.h>
void main()
{
int a[5],i,n,sum=0;
int *ptr=&a[0];
printf("Enter the size of array\n");
scanf("%d",&n);
printf("Enter data elements\n");
for(i=0;i<n;i++)
{
scanf("%d",(ptr+i));
}
printf("The array elements are\n");
for(i=0;i<n;i++)
{
 printf("%d\t",*(ptr+i));
 }
 for(i=0;i<n;i++)
 {
 sum+ =
*(ptr+i);
 }
 printf("The sum of all element is %d",sum);
getch();
}
Output:












7.Program to input n element and display it and find maximum,minimum and average value using pointer.

#include<stdio.h>
#include<conio.h>
int main()
{

int a[5],i,n,maximum,minimum,sum=0;
float average;
int *ptr=&a[0];
printf("Enter the size of array\n");
scanf("%d",&n);
printf("Enter data elements\n");
for(i=0;i<n;i++)
{
scanf("%d",(ptr+i));
}
printf("The array elements are\n");
for(i=0;i<n;i++)
{
 printf("%d\t",*(ptr+i));
 }

 maximum=*ptr;
 minimum=*ptr;

 for(i=0;i<n;i++)
 {
 if(*(ptr+i)>maximum)
 {
 maximum=*(ptr+i);
 }
 if(*(ptr+i)<minimum)
 {
 minimum=*(ptr+i);
 }
 sum+=*(ptr+i);
 }
average=sum/n;
 printf("The maximum and minimum is %d %d\n",maximum,minimum);
 printf("The average value is %f",average);
 getch();
 }

Output:













8.  Program to input n element in an array and check if it is present or not in array using pointer.

#include<stdio.h>
#include<conio.h>
int main()
{
int a[100],i,n,flag=0;
int *ptr=&a[0];
printf("Enter the size of array\n");
scanf("%d",&n);
printf("Enter data elements\n");
for(i=0;i<n;i++)
{
scanf("%d",(ptr+i));
}
printf("The array elements are\n");
for(i=0;i<n;i++)
{
 printf("%d\t",*(ptr+i));
 }
 if(n==*(ptr+i))
 {
 flag=1;
 }

 if(flag==1)
 {
 printf("Number is present");
 }
 else
 {
 printf("Number is not present");
 }
 getch();
 }

Output:













9. Sorting in ascending order

#include<stdio.h>
#include<conio.h>
int main()
{
int a[100],i,j,n,temp;
int *ptr=&a[0];
printf("Enter the size of array\n");
scanf("%d",&n);
printf("Enter data elements\n");
for(i=0;i<n;i++)
{
scanf("%d",(ptr+i));
}
printf("The array elements are\n");
for(i=0;i<n;i++)
{
 printf("%d\t",*(ptr+i));
 }
 for(i=0;i<n-2;i++)
 {
 for(j=0;j<=n-2-i;j++)
 {
 if(*(ptr+j)>*((ptr+j)+1))
 {
 temp= *(ptr+j);
 *(ptr+j)=*((ptr+j)+1);
  *((ptr+j)+1)= temp;
  }
  }
  }
  printf("The sorted away is\n");
  for(i=0;i<n;i++)
  {
  printf("%d\t",*(ptr+i));
  }
  getch();
     }
Output:















Comments