C Pointer Interview Questions and Answers
This “C Pointer interview questions” post is providing all the frequently asked questions on pointers from basic to expert level to test yourself.
What is a Pointer ?
- A derived data type.
- A pointer variable can store the address(memory location) of another variable.
What is the use of Pointer variable ?
- Used to access the information by holds its address.
- It is also called in-direction operator.
What is the size of pointer ?
- Size of pointer is equals to size of integer on the machine.
- On 16 bit compiler, pointer size is 2 bytes.
What is void pointer ?
- void* is called Generic pointer.
- void* variable can holds any pointer type value.
What is Call by Value ?
- Calling a function by passing values as parameters is called Call by Value.
What is Call by Reference?
- Calling a function by passing address(reference) as parameter.
- We collect these addresses into pointer type variables in the called function.
What pointer operator(*) returns ?
- Pointer operator returns the data of specified memory location.
Can we create a pointer to function ?
- Functions execute at a particular memory location is called FRAME.
- Every FRAME has a address.
- Pointer to function variable holds that address to execute function.
How to declare pointer to function ?
- Pointer to function declaration depends on the prototype of function.
return_type (*identifier) (arguments_list) ;
What is Dangling pointer ?
- Declaration of pointer variable that holds the address of local variable of another function.
- Dangling pointers will not generate 100% accurate results in the application.
What is pointer casting ?
- Converting data at runtime is type-casting.
- One typed pointer cannot point to another type of data.
- If we want to point one type of data using another type of pointer, we can apply pointer casting.
What is pointer arithmetic ?
- When we modify integer, the value either increased/decreased by 1.
- When we modify the pointer variable, the size of pointer increases/decreases by size bytes of data which is currently pointing to.
Can we apply modify operators on pointer variable ?
- Yes we can.
- Using modify operators only we can process array elements effectively.
Define Array of Pointers ?
- Array of Pointers means an Array which is holding
1) References of same array elements
2) Reference of different array elements
What is the use of Array of Pointers ?
- We can easily process the information like Set of String elements.
- We can process Multi dimensional array data.
- We can connect number of arrays with single address variable.
Can we create pointer to Structure?
- When a pointer is pointing to structure, we use Arrow(->) operator to access the elements of structures instead of dot(.) operator.
How to access structure elements using pointer ?
- Using Arrow(->) operator.
- Generally we use dot(.) operator to access structure elements.
What char* represents in C ?
- char* can points
1) a single character
2) array of characters(string)
Can a function returns Array using pointers ?
- A function can returns array only by using pointers.
- A function can return address so that return type is pointer type.
Can a function returns String using char* ?
- Yes, we can return Strings from functions only by returns base address of that String.
What is the use of Pointer to Pointer ?
- Easily we can process the elements which are connected.
for example Linked Lists.
Describe this pointer declaration ? [int (* ptr) (int,int)]
- “ptr” is a pointer, pointing to a function which is taking 2 integer arguments and returns integer data.
Describe this pointer declaration ? [char (* ptr) ]
- “ptr” is a pointer pointing to array of size is 3 and the array is holding character elements.
Describe this pointer declaration ? [int ( * ( * ptr ) [ 5 ] ) ( )]
- “ptr” is pointer variable which is pointing to an array which is holding address of 5 functions and each function is not taking input but returns integer.