i would like to ask what are the differences between the different languages of c (C, C++, Obj C, etc)?
Without going into a detailed elaboration, as a first approximation you can consider C, C++, Objective C, Java and others to be different languages. But with a common ancestor, C.
Because of the common ancestor they do share, sometimes a lot, of syntax elements and semantics. But they all do have distinguished features, and also deviations from C, that you can consider them different languages.
Even in the areas where they look similar or identical it is often that they are conceptually different. Meaning, for example, that some constructs which are considered good and proper in one of the languages are considered bad and evil in others. Therefore I don't agree to statements that some languages "fix" issues with another of those languages. The languages have different concepts.
The good news is, because of the common ancestry it gets easier to learn another of the languages once you know one of them.
And it really doesn't matter with which of the languages you start. Programming is much more than just knowing one programming language, and there is no one-size-fits-it-all programming language. Despite what some fanboys like to tell you about their favorite language.
BTW: C is neither dead nor not used anymore. The December 2011 TIOBE index of language popularity lists C on position two, almost on par with Java, and before C++, C#, and Objective-C (in that order). And it was on this position one year ago, too. So forget about statements like "nobody" is using C any more.