That's Objective C, this is a c/c++ website. C code can be called Objective C code as well, but Objective C code cannot be called C code. You need to find yourself a tutorial somewhere or ask this on stackoverflow
fido and daily are references to objects of the respective types. In C/C++ we call these references, pointers.
So fido is a reference of type Dog and daily is a reference of type Newspaper. fido is set to a value nil or zero. So the object referenced by fido is Empty or doesn't exist. We call fido a null reference
daily is set to the value of the function goGetTheNewspaper so depending on what is returned by that function, the object referenced by daily will either be Empty (in which case daily is a null reference) or contain something.
You might want to take these terms I've used and try to understand them in objective C. Maybe now you can ask a more specific question on stackoverflow