How does the memory alignment of a structure's members affect its total size?

  • It aligns the structure members to byte boundaries
  • It decreases the total size
  • It has no impact on the total size
  • It increases the total size
Memory alignment in structures affects the total size by ensuring that structure members are positioned on specific byte boundaries. This alignment is necessary for efficient memory access and to prevent wasted memory.

To write data to a file, the file must be opened in ________ mode.

  • w
  • r
  • a
  • write
The correct option is a) w. In C, to write data to a file, the file must be opened in write mode (w).

How can you pass a command line argument to a C program that is meant to be interpreted as an integer?

  • Assign the argument to a string variable
  • Convert the argument using atoi()
  • Use argv[0] to access the argument
  • Use scanf to read the argument from the user
To interpret a command line argument as an integer, you should use the atoi() function to convert the string argument to an integer data type.

How can you determine if you have reached the end of a file while reading it in C?

  • Check if the file size is zero.
  • Count the number of lines in the file.
  • Examine the file's creation date.
  • Use the feof function to check for end-of-file status.
You can determine if you've reached the end of a file in C by using the feof function, which checks for the end-of-file status of the stream.

What is the scope of a local variable defined inside a function in C?

  • Global scope
  • Limited to the block
  • Limited to the function
  • No scope
In C, a local variable defined inside a function has scope limited to that specific function. It cannot be accessed from outside the function.

In a C++ application, you notice that a function is being called with different types of arguments, but there is only one function definition. What feature of C++ could be allowing this behavior?

  • Dynamic casting
  • Function overloading
  • Inheritance and polymorphism
  • Operator overloading
The behavior of calling a function with different argument types using a single function definition is achieved through function overloading in C++. This feature allows multiple function definitions with the same name but different parameter types.

You are working on a program that processes user input, and you want to ensure that the input string does not exceed a certain length to prevent buffer overflow. Which string handling function would be appropriate to use?

  • strcpy
  • strncat
  • strncpy
  • strstr
To limit the length of user input and prevent buffer overflow, the strncpy function is appropriate. It allows you to copy a specified number of characters from the input to the destination, ensuring the destination buffer does not overflow. strstr searches for a substring, strncat concatenates strings with a specified limit, and strcpy copies a string without length control.

In a program that manipulates text, you need to store multiple strings. What is a potential issue with using character arrays instead of string literals?

  • Character arrays are less efficient in terms of memory usage compared to string literals.
  • Character arrays can't accommodate variable-length strings, making it challenging to store strings of different sizes.
  • Character arrays may lead to null-termination errors if not handled carefully.
  • Memory management becomes complex with character arrays, as you need to manually handle memory allocation and deallocation.
Using character arrays for storing multiple strings in a text-manipulation program can be problematic because character arrays have a fixed size and don't easily adapt to variable-length strings. This can lead to memory wastage or buffer overflows. String literals, on the other hand, are more flexible.

To declare a pointer to an integer in C, you would write ________.

  • float* y;
  • int x;
  • int* x;
  • x = 5;
To declare a pointer to an integer in C, you would write int x;* The int* indicates that x is a pointer to an integer.

When a function receives a pointer as an argument, it can modify the ________ that the pointer points to.

  • memory
  • pointer
  • value
  • variable
When a function receives a pointer as an argument in C, it can modify the variable that the pointer points to because it operates directly on the memory location pointed to by the pointer.