Quiz submission record for quiz2-1-1 at Mon Jun 28 01:28:29 2004: Your Answer for Question 1: b and c are true. We use malloc to get a pointer that tells us the location of some memory (turning free memory into uh... malloc-ed memory). B is true because there may not be enough free memory that malloc wants. In that case, malloc returns a null value. So, that would leave the num. of free blocks unchanged. Your Answer for Question 2: a A call to free is used to free memory allocated with the malloc command. That means that the amount of free memory will increase. The memory shouldn't decrese because free frees memory. Your Answer for Question 3: In Java there is no need for a free function. Once some memory is no longer being used, it is automatically cleaned up and freed. The Java equivalent to malloc is new. C kind of has an automatic allocation/deallocation system that frees the memory when a function exits. I think it was called alloca? Because of differences in memory layouts and C implementations it is hard for C to have auto alloc and frees. Your Answer for Question 4: Reference Count method may not work because parts of the structure contain pointers pointing to itself. So the number of pointers will never equal 0. Mark and sweep should work because it is designed to work on circular structures. However, if the structure is unreachable mark and sweep will do nothing. Your Answer for Question 5: It was a little hard to completely understand what was going on in the malloc function. I mean, I understand what it's supposed to do, but reading and understanding the code was difficult. Your unique submission ID is quiz2-1-1-cs61c-cd-1088411309-1519.