Explore topic-wise MCQs in Typedef.

This section includes 55 Mcqs, each offering curated multiple-choice questions to sharpen your Typedef knowledge and support exam preparation. Choose a topic below to get started.

1.

typedef's have the advantage that they obey scope rules, that is they can be declared local to a function or a block whereas #define's always have a global effect.

A. Yes
B. No
Answer» B. No
2.

Are the properties of i, j and x, y in the following program same?

 typedef unsigned long int uli; uli i, j; unsigned long int x, y;

A. Yes
B. No
Answer» B. No
3.

Is there any difference in the #define and typedef in the following code?

 typedef char * string_t; #define string_d char *; string_t s1, s2; string_d s3, s4;

A. Yes
B. No
Answer» B. No
4.

Is the following declaration acceptable?

 typedef long no, *ptrtono; no n; ptrtono p;

A. Yes
B. NO
Answer» B. NO
5.

In the following code snippet can we declare a new typedef named ptr even though struct employee has not been completely declared while using typedef?

 typedef struct employee *ptr; struct employee { char name[20]; int age; ptr next; }

A. Yes
B. No
Answer» B. No
6.

Point out the error in the following code?

 typedef struct { int data; NODEPTR link; }*NODEPTR;

A. Error: in *NODEPTR
B. Error:
C. cannot be used until it is defined
D. No error
E. None of above
Answer» C. cannot be used until it is defined
7.

What will be the output of the program?

 #include typedef struct error {int warning, err, exception;} ERROR; int main() { ERROR e; e.err=1; printf("%d n", e.err); return 0; }

A. 1
B. 2
C. Error
Answer» C. Error
8.

What will be the output of the program?

 #include int main() { typedef float f; static f *fptr; float fval = 90; fptr = &fval; printf("%f n", *fptr); return 0; }

A. 9
B. 90.000000
C. 90
Answer» D.
9.

What will be the output of the program?

 #include int main() { typedef int LONG; LONG a=4; LONG b=68; float c=0; c=b; b+=a; printf("%d,", b); printf("%f n", c); retu

A. 72, 68.000000
B. 72.000000, 68
C. 68.000000, 72.000000
D. 68, 72.000000
Answer» B. 72.000000, 68
10.

What will be the output of the program?

 #include int main() { enum color{red, green, blue}; typedef enum color mycolor; mycolor m = red; printf("%d", m); return 0; }

A. 1
B. 2
C. red
Answer» A. 1
11.

Which of the following is an example for non linear data type?

A. Tree
B. Array
C. Linked list
D. Queue
Answer» B. Array
12.

Queue data structure works on the principle of ____________

A. Last In First Out (LIF0)
B. First In Last Out (FILO)
C. First In First Out (FIFO)
D. Last In Last Out (LILO)
Answer» D. Last In Last Out (LILO)
13.

The type of linked list in which the node does not contain any pointer or reference to the previous node is _____________

A. Circularly singly linked list
B. Singly linked list
C. Circular doubly linked list
D. Doubly linked list
Answer» C. Circular doubly linked list
14.

Which of the following header files must necessarily be included to use dynamic memory allocation functions?

A. stdlib.h
B. stdio.h
C. memory.h
D. dos.h
Answer» B. stdio.h
15.

Choose the statement which is incorrect with respect to dynamic memory allocation.

A. Memory is allocated in a less structured area of memory, known as heap
B. Used for unpredictable memory requirements
C. Execution of the program is faster than that of static memory allocation
D. Allocated memory can be changed during the run time of the program based on the requirement of the program
Answer» D. Allocated memory can be changed during the run time of the program based on the requirement of the program
16.

The size of both stack and heap remains the same during run time.

A. True
B. False
Answer» C.
17.

Local variables are stored in an area called ___________

A. Heap
B. Permanent storage area
C. Free memory
D. Stack
Answer» E.
18.

What is typedef declaration?

A. Does not create a new type
B. It merely adds a new name for some existing type
C. Does not create a new type, It merely adds a new name for some existing type
D. None of the mentioned
Answer» D. None of the mentioned
19.

typedef int (*PFI)(char *, char *)creates ___________

A. type PFI, for pointer to function (of two char * arguments) returning int
B. error
C. type PFI, function (of two char * arguments) returning int
D. type PFI, for pointer
Answer» B. error
20.

Which of the following may create problem in the typedef program?

A. ;
B. printf/scanf
C. Arithmetic operators
D. All of the mentioned
Answer» E.
21.

Which of the given option is the correct method for initialization?

 typedef char *string;

A. *string *p = Hello ;
B. string p = Hello ;
C. *string p = A ;
D. Not more than one space should be given when using typedef
Answer» C. *string p = A ;
22.

Which option should be selected to work the following C expression?

 string p = "HELLO";

A. typedef char [] string;
B. typedef char *string;
C. typedef char [] string; and typedef char *string;
D. Such expression cannot be generated in C
Answer» C. typedef char [] string; and typedef char *string;
23.

What will be the output of the following C code?

 #include  typedef struct p { int x, y; }k; int main() { struct p p = {1, 2}; k k1 = p; printf("%d n", k1.x); }

A. Compile time error
B. 1
C. Depends on the standard
Answer» C. Depends on the standard
24.

What will be the output of the following C code?

 #include  typedef struct p { int x, y; }; int main() { p k1 = {1, 2}; printf("%d n", k1.x); }

A. Compile time error
B. 1
C. Depends on the standard
Answer» B. 1
25.

What will be the output of the following C code?

 #include  typedef struct p { int x, y; }k = {1, 2}; int main() { p k1 = k; printf("%d n", k1.x); }

A. Compile time error
B. 1
C. Depends on the standard
Answer» B. 1
26.

What will be the output of the following C code?

 #include  int *(*(x()))[2]; typedef int **(*ptrfoo)())[2]; int main() { ptrfoo ptr1; ptr1 = x; ptr1(); return 0; } int *(*(x()))[2] { int (*ary)[2] = malloc(sizeof * ary); return &ary; }

A. Compile time error
B. Nothing
C. Undefined behaviour
D. D.
Answer» C. Undefined behaviour
27.

We want to create an alias name for an identifier of the type unsigned long. The alias name is: ul. The correct way to do this using the keyword typedef is ____________

A. typedef unsigned long ul;
B. unsigned long typedef ul;
C. typedef ul unsigned long;
D. ul typedef unsigned long;
Answer» B. unsigned long typedef ul;
28.

Which of the following keywords is used to define an alternate name for an already existing data type?

A. default
B. volatile
C. typedef
D. static
Answer» D. static
29.

What will be the output of following program ?

 #include < stdio> int main() { typedef int AAA,BBB,CCC,DDD; AAA aaa=10; BBB bbb=20; CCC ccc=30; DDD ddd=40; printf("%d,%d,%d,%d",aaa,bbb,ccc,ddd); return 0; }

A. Error
B. 10,10,10,10
C. 10,20,30,40
D. AAA,BBB,CCC,DDD
Answer» D. AAA,BBB,CCC,DDD
30.

What is x in the following program?

 #include int main() { typedef char (*(*arrfptr[3])())[10]; arrfptr x; return 0; }

A. x is a pointer
B. x is an array of three pointer
C. x is an array of three function pointers
D. Error in x declaration
Answer» D. Error in x declaration
31.

In the following code what is 'P'?

 typedef char *charp; const charp P;

A. P is a constant
B. P is a character constant
C. P is character type
D. None of above
Answer» B. P is a character constant
32.

In the following code, the P2 is Integer Pointer or Integer?

 typedef int *ptr; ptr p1, p2;

A. Integer
B. Integer pointer
C. Error in declaration
D. None of above
Answer» C. Error in declaration
33.

For the following typedef in C, pick the best statement

typedef int INT, *INTPTR, ONEDARR[10], TWODARR[10][10];

A. It will cause compile error because typedef is being used to define multiple aliases of incompatible types in the same statement.
B. INT x would define x of type int. Remaining part of the statement would be ignored.
C. INT x would define x of type int and INTPTR y would define pointer y of type int *. Remaining part of the statement would be ignored.
D. INT x would define x of type int. INTPTR *y would define pointer y of type int **. ONEDARR z would define z as array of 10 int. TWODARR t would define t as array of 10 by 10 int.
Answer» E.
34.

What will be the output of the following C code?

 #include  typedef int integer; int main() { int i = 10, *ptr; float f = 20; integer j = i; ptr = &j; printf("%d n", *ptr); return 0; }

A. Compile time error
B. Undefined behaviour
C. Depends on the standard
D. 10
Answer» E.
35.

What will be the output of the following C code?

 #include  int (*(x()))[2]; typedef int (*(*ptr)())[2] ptrfoo; int main() { ptrfoo ptr1; ptr1 = x; ptr1(); return 0; } int (*(x()))[2] { int (*ary)[2] = malloc(sizeof*ary); return &ary; }

A. Compile time error
B. Nothing
C. Undefined behaviour
D. Depends on the standard
Answer» B. Nothing
36.

What will be the output of the following C code?

 #include  typedef struct student { char *a; }stu; void main() { struct student s; s.a = "hey"; printf("%s", s.a); }

A. Compile time error
B. Varies
C. he
D. hey
Answer» E.
37.

What will be the output of the following C code?

 #include  typedef struct student { char *a; }stu; void main() { struct stu s; s.a = "hi"; printf("%s", s.a); }

A. Compile time error
B. Varies
C. hi
D. h
Answer» B. Varies
38.

What will be the output of the following C code?

 #include int main() { typedef union a { int i; char ch[2]; }hello; hello u; u.ch[0] = 3; u.ch[1] = 2; printf("%d, %d", u.ch[0], u.ch[1]); return 0; }

A. 2, 3
B. 3, 2
C. 32
D. error
Answer» C. 32
39.

One of the major difference between typedef and #define is that typedef interpretation is performed by the _________________ whereas #define interpretation is performed by the _____________

A. pre-processor, compiler
B. user, pre-processor
C. compiler, pre-processor
D. compiler, user
Answer» D. compiler, user
40.

Consider this statement: typedef enum good {a, b, c} hello; Which of the following statements is incorrect about hello?

A. hello is a typedef of enum good
B. hello is a structure
C. hello is a variable of type enum good
D. the statement shown above is erroneous
Answer» B. hello is a structure
41.

What is the size of myArray in the code shown below? (Assume that 1 character occupies 1 byte)

 typedef char x[10]; x myArray[5];

A. 5 bytes
B. 10 bytes
C. 40 bytes
D. 50 bytes
Answer» E.
42.

We want to declare x, y and z as pointers of type int. The alias name given is: intpt The correct way to do this using the keyword typedef is:

A. int typedef* intptr; int x,y,z;
B. typedef* intptr; int x,y,z;
C. int typedef* intptr; intptr x,y,z;
D. typedef int* intptr; intptr x,y,z;
Answer» E.
43.

What s the meaning of following declaration in C language?

 int (*p)[5];

A. It will result in compile error because there shouldn't be any parenthesis i.e. int *p[5] is valid.
B. p is a pointer to 5 integers
C. p is a pointer to integer array.
D. p is a pointer to an array of 5 integers
Answer» E.
44.

Assuming int size is 4 bytes, what is going to happen when we compile and run the following program?

 #include  stdio.h  int main() { printf( GeeksQuizn ); main(); return 0; }

A. We can t use main() inside main() and compiler will catch it by showing compiler error.
B. GeeksQuiz would be printed in 2147483647 times i.e. (2 to the power 31) - 1.
C. It ll print GeeksQuiz infinite times i.e. the program will continue to run forever until it s terminated by other means such as CTRL+C or CTRL+Z etc.
D. GeeksQuiz would be printed until stack overflow happens for this program.
Answer» E.
45.

typedef declaration:

A. Does not create a new type
B. It merely adds a new name for some existing type.
C. Both a &amp; b
D. None of the mentioned
Answer» D. None of the mentioned
46.

What is the output of this C code?

 typedef struct p { int x, y; }k; int main() { struct p p = {1, 2}; k k1 = p; printf("%d n", k1.x); }

A. Compile time error
B. 1
C. Depends on the standard
Answer» C. Depends on the standard
47.

typedef which of the following may create problem in the program?

A. ;
B. printf/scanf
C. Arithmetic operators
D. All of the mentioned.
Answer» E.
48.

typedef int (*PFI)(char *, char *)creates:

A. type PFI, for pointer to function (of two char * arguments) returning int
B. Error
C. type PFI, function (of two char * arguments) returning int
D. type PFI, for pointer
Answer» B. Error
49.

Which of the following is FALSE about typedef?

A. typedef follow scope rules
B. typedef defined substitutes can be redefined again. (Eg: typedef char a; typedef int a;)
C. You cannot typedef a typedef with other term.
D. All of the mentioned
Answer» C. You cannot typedef a typedef with other term.
50.

Which of the given option is the correct method for initialization?
typedef char *string;

A. *string *p = Hello ;
B. string p = Hello ;
C. *string p = A ;
D. Not more than one space should be given when using typedef
Answer» C. *string p = A ;