c prog - pointers

29
C Programming - Pointers Organized By: Vinay Arora Assistant Professor, CSED Thapar University, Patiala

Post on 13-Sep-2014

1.174 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: C Prog - Pointers

C Programming - Pointers

Organized By: Vinay Arora

Assistant Professor, CSED

Thapar University, Patiala

Page 2: C Prog - Pointers

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;

}

Page 3: C Prog - Pointers

Vinay Arora

CSED

Program – 1 (output)

Page 4: C Prog - Pointers

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;

}

Page 5: C Prog - Pointers

Vinay Arora

CSED

Program – 2 (output)

Page 6: C Prog - Pointers

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;

}

Page 7: C Prog - Pointers

Vinay Arora

CSED

Program – 3 (output)

Page 8: C Prog - Pointers

Vinay Arora

CSED

Passing Array Value (CBVal)

Page 9: C Prog - Pointers

Vinay Arora

CSED

Passing Array Reference (CBRef)

Page 10: C Prog - Pointers

Vinay Arora

CSED

Page 11: C Prog - Pointers

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();

}

Page 12: C Prog - Pointers

Vinay Arora

CSED

Program – 4 (output)

Page 13: C Prog - Pointers

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();

}

Page 14: C Prog - Pointers

Vinay Arora

CSED

Program – 5 (output)

Page 15: C Prog - Pointers

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();

}

Page 16: C Prog - Pointers

Vinay Arora

CSED

Program – 6 (output)

Page 17: C Prog - Pointers

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();

}

Page 18: C Prog - Pointers

Vinay Arora

CSED

Program – 7 (output)

Page 19: C Prog - Pointers

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();

}

Page 20: C Prog - Pointers

Vinay Arora

CSED

Program – 8 (output)

Page 21: C Prog - Pointers

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();

}

Page 22: C Prog - Pointers

Vinay Arora

CSED

Program – 9 (output)

Page 23: C Prog - Pointers

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();

}

Page 24: C Prog - Pointers

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();

}

Page 25: C Prog - Pointers

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();

}

Page 26: C Prog - Pointers

Vinay Arora

CSED

Program – 10 (output)

Page 27: C Prog - Pointers

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();

}

Page 28: C Prog - Pointers

Vinay Arora

CSED

Program – 11 (output)

Page 29: C Prog - Pointers

Vinay Arora

CSED

Thnx…