c prog - pointers
Post on 13-Sep-2014
1.174 views
DESCRIPTION
TRANSCRIPT
C Programming - Pointers
Organized By: Vinay Arora
Assistant Professor, CSED
Thapar University, Patiala
Vinay Arora
CSED
Program - 1
#include<stdio.h>
#include<conio.h>
void swapr(int,int);
int main()
{
int a=10,b=20;
clrscr();
printf("Value of variable a=%d and b=%d",a,b);
swapr(a,b);
printf("\nValue of variable a=%d and b=%d",a,b);
getch();
}
void swapr(int x, int y)
{
int t;
t=x;
x=y;
y=t;
}
Vinay Arora
CSED
Program – 1 (output)
Vinay Arora
CSED
Program - 2
#include<stdio.h>
#include<conio.h>
void swapr(int *, int *);
int main()
{
int a=10,b=20;
clrscr();
printf("Value of variable a=%d and b=%d",a,b);
swapr(&a,&b);
printf("\nValue of variable a=%d and b=%d",a,b);
getch();
}
void swapr(int *x, int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
Vinay Arora
CSED
Program – 2 (output)
Vinay Arora
CSED
Program - 3
#include<stdio.h>
#include<conio.h>
void areaperi(int,float *,float *);
int main()
{
int radius;
float area, perimeter;
clrscr();
printf("Enter radius of circle");
scanf("%d",&radius);
areaperi(radius,&area,&perimeter);
printf("Area=%f\n",area);
printf("Perimeter=%f\n",perimeter);
return 0;
}
void areaperi(int r, float *a, float *p)
{
*a=3.14*r*r;
*p=2*3.14*r;
}
Vinay Arora
CSED
Program – 3 (output)
Vinay Arora
CSED
Passing Array Value (CBVal)
Vinay Arora
CSED
Passing Array Reference (CBRef)
Vinay Arora
CSED
Vinay Arora
CSED
Program - 4
#include<stdio.h>
#include<conio.h>
void main()
{
int i, *x;
clrscr();
printf("Enter any Integer Value\t");
scanf("%d",&i);
x=&i;
printf("\nx=Address value of i\n");
printf("\nValue of x = %u",x);
x++;
printf("\nAfter Increment in Pointer\n");
printf("Value of x = %u",x);
getch();
}
Vinay Arora
CSED
Program – 4 (output)
Vinay Arora
CSED
Program - 5
#include<stdio.h>
#include<conio.h>
void main()
{
int a=10, b=20, *p, *j;
clrscr();
p=&a;
j=&b;
printf("\nAddition *p + b = %d", *p + b);
printf("\nAddition *p + *j = %d", *p + *j);
printf("\nAddition *(p) + *(j) = %d", *(p) + *(j));
printf("\nAddition *(&a) + *(&b) = %d", *(&a) + *(&b));
getch();
}
Vinay Arora
CSED
Program – 5 (output)
Vinay Arora
CSED
Program - 6
#include<stdio.h>
#include<conio.h>
void main()
{
int arr[]={10,20,30,45,67,56,74};
int *i,*j;
int x;
clrscr();
printf("Array Elements are");
for(x=0;x<=6;x++)
{
printf("\n Value at arr[%d] is %d",x,arr[x]);
}
i=&arr[1];
j=&arr[5];
printf("\nj - i = %d",j-i);
printf("\n*j - *i =%d",*j - *i);
getch();
}
Vinay Arora
CSED
Program – 6 (output)
Vinay Arora
CSED
Program - 7
#include<stdio.h>
#include<conio.h>
void main()
{
int num[]={24,34,12,44,56,17};
int i,*j;
clrscr();
printf("Array Elements are");
for(i=0;i<=5;i++)
{
printf("\n Value at arr[%d] is %d",i,num[i]);
}
j=&num[0];
for(i=0;i<=5;i++)
{
printf("\nAddress = %u",j);
printf("\nElement = %d",*j);
j++;
}
getch();
}
Vinay Arora
CSED
Program – 7 (output)
Vinay Arora
CSED
Program – 8 (Diff. notations for accessing Array)
#include<stdio.h>
#include<conio.h>
void main()
{
int num[]={24,34,12};
int i;
clrscr();
printf("Array Elements are");
for(i=0;i<=2;i++)
{
printf("\n Value at arr[%d] is %d",i,num[i]);
printf("\n Value at arr[%d] is %d",i,i[num]);
printf("\n Value at arr[%d] is %d",i,*(num+i));
printf("\n Value at arr[%d] is %d",i,*(i+num));
printf("\n");
}
getch();
}
Vinay Arora
CSED
Program – 8 (output)
Vinay Arora
CSED
Program - 9
#include<stdio.h>
#include<conio.h>
void main()
{
int s[3][2]={
{10,15},
{20,25},
{30,35}
};
int i;
clrscr();
for(i=0;i<=2;i++)
printf("Address of %dth 1-D array = %u\n",i,s[i]);
getch();
}
Vinay Arora
CSED
Program – 9 (output)
Vinay Arora
CSED
Program – 10 (Conti…)
#include<stdio.h>
#include<conio.h>
void main()
{
int s[3][2]={
{10,15},
{20,25},
{30,35}
};
int i,j;
clrscr();
printf("Array Elements are\n");
printf("Notation Used is s[i][j])\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
{
printf("\t%d",s[i][j]);
}
printf("\n");
}
getch();
}
Vinay Arora
CSED
Program – 10 (Conti…)
#include<stdio.h>
#include<conio.h>
void main()
{
int s[3][2]={
{10,15},
{20,25},
{30,35}
};
int i,j;
clrscr();
printf("\nAccessing 2-D Array\n");
printf("Notation Used is *(s[i]+j)\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
{
printf("\t%d",*(s[i]+j));
}
printf("\n");
}
getch();
}
Vinay Arora
CSED
Program – 10 (Conti…)
#include<stdio.h>
#include<conio.h>
void main()
{
int s[3][2]={
{10,15},
{20,25},
{30,35}
};
int i,j;
clrscr();
printf("\nAccessing 2-D Array\n");
printf("Notation Used is
*(*(s+i)+j)\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
{
printf("\t%d",*(*(s+i)+j));
}
printf("\n");
}
getch();
}
Vinay Arora
CSED
Program – 10 (output)
Vinay Arora
CSED
Program – 11 (Array of Pointer)
#include<stdio.h>
#include<conio.h>
void main()
{
int *arr[3];
int i=10, j=20, k=30, m;
int *a,*b,*c;
clrscr();
arr[0] = &i;
arr[1] = &j;
arr[2] = &k;
a=&i;
b=&j;
c=&k;
printf("Address of variable a,b,c\n");
printf("%u\n",a);
printf("%u\n",b);
printf("%u\n",c);
printf("Value Present in Array\n");
for(m=0;m<=2;m++)
{
printf("\n%u",arr[m]);
}
printf("\n");
for(m=0;m<=2;m++)
{
printf("\n%u",&arr[m]);
}
printf("\n");
for(m=0;m<=2;m++)
{
printf("\n%d",*(arr[m]));
}
getch();
}
Vinay Arora
CSED
Program – 11 (output)
Vinay Arora
CSED
Thnx…