Pointer Structure Union
Q.1 what is the output of the above program code?
#include
void main()
{
int i=3,*p,**p1;
p=&i;
p1=&p;
printf(“%d%d%d” *p **p1 *(*p1))
}
(a)444 (b)000 (c)333 (d)433
Q.2 which of the following is the correct way of declaring a float pointer:
(a)float ptr; (c)*float ptr;
(b)float *ptr;
(d)None of the above
Q.3 The size of the structure can be determined by
(a)size of variable name
(b)size of(struct tag)
(a)Only a (b)Only b (c)Both a and b (d)None of the above
Q.4 An entire structure or union variable can be assigned to another structure or union variable if
(a)The two variables have same composition
(b)the two variable have same type
(c)Assignment of one structure or union variable to another is not possible
(d) None of the above
Q.5 Find the output of the following program
#include<stdio.h>
void main()
{
int i=32;
char *ptr=(char*)&i;
printf(“%d” *ptr)
}
(a)1 (b)32 (c)compile error (d)None of the above
Q.6 Find the error in the following declaration?
struct author
{
int age;
struct inner
{
char name[20];
};
};
(a)Nested structure is not allowed in C
(b)It is necessary to initialize the member variable of a structure
(c)inner structure must have a name
(d)There is no error
Q.7 Find the output of the following program
#include<stdio.h>
void main()
{
int array[]={10,20,30,40};
printf(“%d” 2*array+)
}
(a)60 (b)30 (c)garbage value (d)compile error
Q.8 Find the output of the following program
#include
void main()
{
double far* p,q;
printf(“%d” sizeof(p)+sizeof(q));
}
(a)12 (b)8 (c)4 (d)compile error
Q.9 Which of the following is not user defined data type?
I:
struct book
{
};
II:
char name[10];
int pages;
long int x=2.35;
III:
enum day{Sun,Mon,Tue,Wed};
(a)I (b)II (c)III
Q.10 Find the output of the following program
#include
void main()
{
struct employee
{
(d)Both I and II
char name; int age; float sal;
};
struct employee e =,“Rajesh”-
printf(“%d%f” e age e sal)
}
(a)0, 0.000000 (b)Garbage value (c) error (d)None of the above
Q.11point out the error in the following program
#include<stdio.h>
struct emp
{
char name[20];
int age;
};
void main()
{
emp struct xx; int a; printf(“%d” a)
}
(a)Error:in printf (b)Error: in emp struct xx; (c)No error (d)None of the above
Q.12 Which of the strcture is correct?
1: struct book
{
char name[10];
inr pages;
};
2: struct aa
{
char name[10];
int pages;
}
3: struct aa
{
char name[10];
int pages;
}
(a)1 (b)2 (c)3 (d)all of above
Q.13 What is the similarity between a structure ,union and enumeration?
(a)All of them let you define new values
(b) All of them let you define new datatype values
(c) All of them let you define new pointers
(d) All of them let you define new structures
Q.14 What will be the output of the program?
#include
void main()
{
union var
{
int a,b;
};
union var v;
v.a=60; v.b=70; printf(“%d\n” v a)
}
(a)60 (b)70 (c)30 (d)0
Q.15 What will be the output of following program?
#include
struct course
{
int courseno;
char coursename[25];
};
void main()
{
struct course c*+=,1 ”FPL”-
,2 ”Maths”-
,3 ”Physics”- -
printf(“%d” c*1+ courseno)
printf(“%s\n” (*(c+2)) coursename)
}
(a)3 Physics (b)2 Maths (c)1FPL
Q.16 Pointer store
(d)2 Physics
(a)value
ANS=(b)
(b)address (c)both value and address (d)None of above
Q 17 To declare a pointer for an “”int” type variable which if the following is correct statement
(a)int *p; (b)*int p; (c)float *p; (d)*float p;
Q.18 The name of a pointer has to follow the rules of an identifier
(a)True (b)False
Q 19 With reference to the pointers the ”*” operator returns the
(a)address (b)value (c)product (d)none of above
Q 20 With reference to the pointers the ” ” operator returns the
(a)address (b)value (c)product (d)none of above
Q.21 We can have pointer to another pointer in C programming language
(a)True (b)False
Q.22 Find output of the following program
#include
void main()
{
int a,p*; a=125; p=&a;
printf(“%d\n” a) printf(“%x\n” p) printf(“%d\n” *p)
}
(a)125
Address of variable a
Address of variable b
(b)125
Address of variable a
125
(c)125
125
125
(d) Address of variable a
125
Address of variable a
Q.23 Find output of the following program
#include<stdio.h>
void main()
{
int a,p*,**p1;
a=125;
p=&a;
p1=&p;
printf(“%d\n” a)
printf(“%x\n” p)
printf(“%x\n” p1) printf(“%d\n” *p) printf(“%x\n” *p1) printf(“%d\n” **p1)
}
(a)125 (b)125
125
125
125
125
125
(c)125
Share with your friends: |