93. What Is A Pointer In C?
Answer: A pointer in C is a variable. It contains the memory address, i.e, locations of another variable which is declared as the pointer type.
94. What Are The Advantages Of Using Pointers?
Answer: Pointers help to save memory spaces.
- Use of pointer assigns the memory space and also releases it. This helps in making best use of the available memory. In other words, it caters to dynamic memory allocation.
- With pointers, data manipulation is done with address, so execution becomes faster.
- Array representation is easy with pointers.
95. Write At Least Three Disadvantages Of A Pointer In C Programming?
Answer: Three important disadvantages of pointers are:
- Uninitialized pointers might cause segmentation fault and if If pointers are updated with incorrect values, it might lead to memory corruption.
- Dynamically allocated block needs to be freed explicitly. Otherwise, it would lead to memory leak.
- Pointers are slower than normal variables.
96. Discuss The Similarity Between Array & Pointer In C.
Answer: Arrays are closely related to pointers in C programming but the important difference between them is that, a pointer variable takes different addresses as value whereas, in case of array it is fixed.
97. What Is The Purpose Of The Sizeof() Operator?
Answer: The sizeof() operator is a unary operator. This operator gives the size of its argument in terms of bytes. The argument can be a variable, array or any data type. This operator also gives the size of any structure.
98. What Is A Wild Pointer In C?
Answer: A wild pointer in C refers to a pointer which has not been initialized with any particular value. Wild pointer does not point to any specific memory location.
99. What Is The Size Of The Void Pointer In C?
Answer: The size of void pointer in C is two bytes.
100. What Are The Uses Of The Void Data Type?
Answer: The void data type is used basically to declare generic pointers. They are also used as a function parameter and as a function return type.
101. What Is A Generic Pointer/Void Pointer? In C, Why Is The Void Pointer Useful? When Would You Use It?
Answer: Void pointer is called generic pointer in C, because it can hold address of any type of object.
int a = 10;
int * p = &a; // Pointer to integer variable
double b = 10.2;
double * q = &b; // Pointer to double variable
void * r = &a; // Valid
r = &b; // Valid
// because r is a generic pointer
// which can hold address of any type of memory block.
The void pointer is useful because it is a generic pointer that any pointer can be cast into and back again without loss of information.
102. What Are The Uses Of Pointers In C Programming?
Answer: Pointers in C programming can be used in the following cases:
- To access array elements.
- For dynamic memory allocation.
- For Call by reference.
- In data structures like trees, graph, linked list etc.
103. What Is A Huge Pointer?
Answer: Huge pointers are 32 bit long containing segment address and offset address. Huge pointers are normalized pointers so for any given memory address there is only one possible huge address segment: offset pair. Huge pointer arithmetic is done with calls to special subroutines so its arithmetic slower than any other pointers.
61) What is static memory allocation?
62) What is dynamic memory allocation?
63) What is the purpose of realloc?
64) What is pointer to a pointer?
65) What is an array of pointers?
66) Difference between array and pointer?
67) Difference between a array name and a pointer variable?
68) Difference between an array of pointers and a pointer to an array?
69) What are the pointer declarations used in C?
70) Differentiate between a constant pointer and pointer to a constant?
...Return To C Questions INDEX.
...Return To C Programming INDEX.
... Return To HR Interview Index