Questions that cover various aspects of pointers in C:
Question 1: Basics of Pointers
Question: What is a pointer in C, and how is it declared? Provide an example.
Explanation: This question assesses the fundamental understanding of what pointers are and how they are declared.
Example Answer:
int main() { int num = 42; int *ptr = # // declares a pointer to an integer and initializes it with the address of num return 0; }
Question 2: Pointer Arithmetic
Question: Explain the concept of pointer arithmetic in C. Provide an example to demonstrate its use.
Explanation: This question tests the knowledge of how pointers can be used for arithmetic operations.
Example Answer:
int main() { int numbers[] = {1, 2, 3, 4, 5}; int *ptr = numbers; // points to the first element of the array // Accessing elements using pointer arithmetic printf("%d\n", *ptr); // prints 1 printf("%d\n", *(ptr + 2)); // prints 3 return 0; }
Question 3: Dynamic Memory Allocation
Question: What is dynamic memory allocation in C, and how is it done using pointers? Provide an example.
Explanation: This question assesses knowledge about dynamic memory allocation and deallocation.
Example Answer:
int main() { // Allocating memory for an integer dynamically int *ptr = (int*)malloc(sizeof(int)); // Checking if memory allocation was successful if (ptr != NULL) { *ptr = 42; // Perform operations free(ptr); // Release allocated memory } return 0; }
Question 4: Function Pointers
Question: What is a function pointer in C, and how is it declared? Provide an example of using a function pointer.
Explanation: This question tests understanding of how pointers can be used to store addresses of functions.
Example Answer:
#include <stdio.h> void sayHello() { printf("Hello, world!\n"); } int main() { // Declaring and initializing a function pointer void (*ptr)() = &sayHello; // Calling the function using the function pointer ptr(); return 0; }
Question 5: Common Mistakes with Pointers
Question: What is a common mistake associated with using pointers in C, and how can it be avoided?
Explanation: This question evaluates awareness of common pitfalls and understanding of best practices.
Example Answer:
int main() { int *ptr; // Uninitialized pointer // Best practice: Initialize pointers before use int num = 42; int *correctPtr = # return 0; }
These questions cover a range of topics related to pointers in C, from basics to more advanced concepts.
No comments:
Post a Comment