04-26-2010, 12:33 AM
I'm just now teaching myself how to code in Objective-C (however, I have no background in C or any other extension), and I'm having some trouble understanding pointers. While reading around, I noticed a lot of people explaining that all
objects are just pointers referencing objects. If this is true, then why do I ever have to explicitly create pointers? What is the difference between the follow two statements?
int numberOne = 12;
int *numberTwo = 14;
From what I remember from Java, it would follow that I could do numberOne = numberTwo, and therefore both are equal to 14. I can, however, still change either number individually. i.e. numberTwo = 17 (and therefor numberOne = 14 and numberTwo = 17). Of course, if I were to do the opposite, then the pointer numberTwo would point to the same object as numberOne, and every time I changed one of them, "both" would change.
But if all variables are actually just pointers, then aren't these two phrases exactly the same?
numberOne = numberTwo;
numberTwo = numberOne;
I have about five ebooks on Cocoa or Objective-C, and I'm only three chapters into my first book, so if any of you can reference a book or website for me to check out, or just shed some light on my problem with understanding, that would be faaantastic.