Question 1
# include <stdio.h>
void fun(int x)
{
x = 30;
}
int main()
{
int y = 20;
fun(y);
printf("%d", y);
return 0;
}
Question 2
# include <stdio.h>
void fun(int *ptr)
{
*ptr = 30;
}
int main()
{
int y = 20;
fun(&y);
printf("%d", y);
return 0;
}
Question 3
#include <stdio.h>
int main()
{
int *ptr;
int x;
ptr = &x;
*ptr = 0;
printf(" x = %d\\n", x);
printf(" *ptr = %d\\n", *ptr);
*ptr += 5;
printf(" x = %d\\n", x);
printf(" *ptr = %d\\n", *ptr);
(*ptr)++;
printf(" x = %d\\n", x);
printf(" *ptr = %d\\n", *ptr);
return 0;
}
x = 0
*ptr = 0
x = 5
*ptr = 5
x = 6
*ptr = 6
x = garbage value
*ptr = 0
x = garbage value
*ptr = 5
x = garbage value
*ptr = 6
x = 0
*ptr = 0
x = 5
*ptr = 5
x = garbage value
*ptr = garbage value
x = 0
*ptr = 0
x = 0
*ptr = 0
x = 0
*ptr = 0
Question 4
#include <stdio.h>
int main()
{
int arri[] = {1, 2 ,3};
int *ptri = arri;
char arrc[] = {1, 2 ,3};
char *ptrc = arrc;
printf("sizeof arri[] = %d ", sizeof(arri));
printf("sizeof ptri = %d ", sizeof(ptri));
printf("sizeof arrc[] = %d ", sizeof(arrc));
printf("sizeof ptrc = %d ", sizeof(ptrc));
return 0;
}
Question 5
#include <stdio.h>
int main()
{
float arr[5] = {12.5, 10.0, 13.5, 90.5, 0.5};
float *ptr1 = &arr[0];
float *ptr2 = ptr1 + 3;
printf("%f ", *ptr2);
printf("%d", ptr2 - ptr1);
return 0;
}
Question 6
#include<stdio.h>
int main()
{
int arr[] = {10, 20, 30, 40, 50, 60};
int *ptr1 = arr;
int *ptr2 = arr + 5;
printf("Number of elements between two pointer are: %d.",
(ptr2 - ptr1));
printf("Number of bytes between two pointers are: %d",
(char*)ptr2 - (char*) ptr1);
return 0;
}
Question 7
#include<stdio.h>
int main()
{
int a;
char *x;
x = (char *) &a;
a = 512;
x[0] = 1;
x[1] = 2;
printf("%d\\n",a);
return 0;
}
Question 8
int main()
{
char *ptr = "GeeksQuiz";
printf("%c", *&*&*ptr);
return 0;
}
Compiler Error
Garbage Value
Runtime Error
G
Question 9
#include<stdio.h>
void fun(int arr[])
{
int i;
int arr_size = sizeof(arr)/sizeof(arr[0]);
for (i = 0; i < arr_size; i++)
printf("%d ", arr[i]);
}
int main()
{
int i;
int arr[4] = {10, 20 ,30, 40};
fun(arr);
return 0;
}
Question 10
The reason for using pointers in a C program is
Pointers allow different functions to share and modify their local variables.
To pass large structures so that complete copy of the structure can be avoided.
Pointers enable complex “linked" data structures like linked lists and binary trees.
All of the above
There are 43 questions to complete.