C Program to Prove Memory allocation for Integer is 2 byte by using array & Pointer
#include
void printarr(int a[]);
void printdetail(int a[]);
void print_usingptr_a(int a[]);
main()
{
int a[5];
int *b;
int *c;
for(int i = 0;i<5;i++)
{
a[i]=i;
}
printarr(a);
*b=2;
b++;
*b=4;
b++;
*b=6;
b++;
*b=8;
b++;
*b=10;
b++;
*b=12;
b++;
a=c; //error
printarr(a);
}
void printarr(int a[])
{
for(int i = 0;i<5;i++)
{
printf("value in array %d\n",a[i]);
}
}
void printdetail(int a[])
{
for(int i = 0;i<5;i++)
{
printf("value in array %d and address is %16lu\n",a[i],&a[i]);
}
}
void print_usingptr_a(int a[])
{
for(int i = 0;i<5;i++)
{
printf("value in array %d and address is %16lu\n",*a,a);
a++; // increase by 2 bytes
}
}
No comments:
Post a Comment