In C++, what is function overloading?

  • Creating new functions with unique names for each
  • Using different names for the same function with the same parameters
  • Using the same name for a single function with different parameters
  • Using the same name for different functions with different parameters
In C++, function overloading refers to using the same function name for different functions with different parameter lists. This allows you to perform similar operations with different data types.

What does a nested structure in C allow you to do?

  • Create a structure inside another structure
  • Define a function inside a structure
  • Define a structure with no members
  • Nest loops within a structure
In C programming, a nested structure allows you to create a structure inside another structure. This can be useful when you want to represent complex data structures, as it lets you organize related data even further, creating a hierarchical structure.

In C, if you want to ensure that all the data written to a file is physically stored, you can use the ______ function.

  • fwrite()
  • fflush()
  • fseek()
  • fsync()
The correct option is b) fflush(). This function flushes the output buffer, ensuring that all data is physically stored in the file.

Why would a developer use pointers to structures instead of using structures directly?

  • To add complexity to the code
  • To improve program performance
  • To save memory
  • To simplify the code
Developers use pointers to structures to improve program performance. When you use pointers, you can manipulate data more efficiently and avoid creating redundant copies of structures, leading to better memory and performance optimization. It simplifies code by allowing you to pass structures by reference and make changes directly to the original data. However, it can add complexity to the code, so careful usage is essential.

When defining a structure in C, which keyword is used?

  • class
  • define
  • struct
  • type
In C programming, the keyword "struct" is used to define a structure. The "struct" keyword is followed by the structure name, and within the curly braces, you define the structure members or fields.

What is the difference between an array and a pointer in the context of C programming?

  • Arrays always start at index 0, but pointers can start at any index
  • Arrays can be dereferenced, but pointers cannot
  • Arrays can store multiple data types, while pointers can't
  • Arrays have a fixed size, while pointers can be resized dynamically
Arrays have a fixed size once declared, whereas pointers can be resized dynamically to point to different memory locations. This flexibility makes pointers more versatile for dynamic data structures.

The use of inline functions can potentially lead to faster execution time but may also increase the ________ of the binary.

  • Complexity
  • Efficiency
  • Size
  • Speed
Inline functions can optimize execution time by eliminating the function call overhead. However, they may increase binary complexity due to code expansion, making the binary larger.

When a pointer is incremented, it moves to the memory address of the next element based on the ________ of the data type it points to.

  • Color
  • Name
  • Shape
  • Size
Pointer incrementation in C is determined by the size (in bytes) of the data type it points to.

You're optimizing a program for memory usage. What considerations would you take into account when deciding between using character arrays and string literals?

  • Character arrays consume less memory than string literals, making them a better choice for memory optimization.
  • Character arrays provide better performance due to reduced memory overhead.
  • String literals are less efficient in terms of memory usage compared to character arrays.
  • String literals are more memory-efficient, as they share storage and avoid duplicating string data.
When optimizing a program for memory usage, you would consider using character arrays over string literals because character arrays generally consume less memory. String literals can lead to duplicate storage, whereas character arrays allow more control over memory usage.

What happens when you perform pointer arithmetic on a pointer to a data type other than 'char'?

  • It generates a compilation error
  • It increments the pointer by one byte
  • It results in undefined behavior
  • It returns the size of the data type in bytes
When you perform pointer arithmetic on a pointer to a data type other than 'char,' it results in undefined behavior. This is because the pointer arithmetic depends on the size of the data type, and it may lead to accessing memory incorrectly.