What is the primary function of pointers in C?
- To manipulate strings
- To perform mathematical operations
- To provide dynamic memory allocation
- To store variables
Pointers in C are primarily used for dynamic memory allocation. They allow you to allocate and deallocate memory at runtime, which is essential for efficient memory usage and data structure implementation.
In C, when an array is passed to a function, is it passed by value or by reference?
- By reference
- By value
- It depends on the array size
- Not possible to pass arrays to functions
In C, arrays are passed to functions by reference, which means that changes made to the array inside the function affect the original array in the caller.
What is the primary cause of memory leaks in a C program?
- Excessive memory fragmentation.
- Failure to free dynamically allocated memory.
- Incorrect use of the malloc function.
- Insufficient memory allocation.
The primary cause of memory leaks in a C program is the failure to free dynamically allocated memory using functions like free(). When you allocate memory but don't deallocate it properly, it leads to memory leaks.
What is the scope of a global variable in a C program?
- Accessible throughout the entire program
- Limited to the file where it's declared
- Local to the function it's defined in
- Only within the main() function
In C, global variables have a scope that spans the entire program, meaning they can be accessed from any part of the code.
How do you declare a pointer variable in C?
- Using the % operator
- Using the & operator
- Using the * operator
- Using the -> operator
In C, you declare a pointer variable using the * operator. For example, int *ptr; declares a pointer to an integer.
How does the 'extern' keyword affect the scope and lifetime of a variable in C?
- It doesn't affect the scope or lifetime of a variable.
- It extends the scope and lifetime of a variable.
- It extends the scope but reduces the lifetime of a variable.
- It reduces the scope but extends the lifetime of a variable.
In C, the 'extern' keyword extends the scope of a variable but reduces its lifetime. It allows a variable declared outside a function to be used within that function, but the variable's lifetime remains outside the function.
How are strings typically terminated in C?
- With a comma
- With a newline character
- With a null character ( ' ' )
- With a space character
Strings in C are typically terminated with a null character (' ') to indicate the end of the string.
In a program that processes large datasets, you notice that reading the data from a file is a performance bottleneck. Which file handling functions could help improve the performance?
- fread() and fwrite()
- fseek() and ftell()
- fprintf() and fscanf()
- fgetc() and fputc()
To improve performance when dealing with large datasets, using fread() and fwrite() for bulk reading and writing of data would be beneficial. The other options involve more granular or formatted I/O operations.
What is the difference between #include "filename" and #include in C?
- #include "filename" is for standard library files.
- #include "filename" is for user-defined files.
- #include
is for user-defined files. - They are interchangeable and have no difference.
In C, #include "filename" is used for user-defined header files, and #include is used for standard library header files.
Which searching algorithm is typically the most straightforward to implement?
- Binary search
- Hash table
- Jump search
- Linear search
Linear search is the most straightforward searching algorithm as it involves a simple step-by-step comparison of elements in the array.