Right answer is (c) variable size buffer
To explain I would say: The buffer exchange becomes inefficient while concerning the memory usage for small and the simple data. In order to solve this problem, variable size buffers can be used but this requires a more complex operation to handle the length of the valid data.