Answer from cs61c-aw (wing hin kao 16500429) for Question 1 a is true because the block that will be allocated contains one more unit, for the header itself, and this is the value recorded in the size field of the header. So, the pointer returned by malloc points at the free space, not at the header itself. b is true because if a too big block is found, the tail end is retruned to the user. In this way, the header of the orginal needs only to have its size adjusted. So, this size adjusted may make the number of free blocks unchanged. c is true because if a too big block is found, it will split into two. Then, it may increase the number of free blocks.