Where to start...well...
I'd get a solid book on C programming and learn the fundamentals first. Don't mess with anything object-oriented. Don't mess with graphics libraries or other classes.
Get a solid handle on memory allocation/pointers, get a firm grip on data structures, like queues, stacks, binary trees. Learn about recursion and how to write efficient code. If you have the time, learn how to use C to manipulate at the low level. Above all, learn how to write GOOD and EFFICIENT code.
After you're solid with that, I'd move upwards. Start learning about object oriented programming: polymorphism, class inheritance, etc. Learn the concepts and procedures. Afterward, you will have the necessary foundation to begin learning the more complicated "stuff".
That's my advice at least!