Chapter 3. Memory and Pointers: Advanced C

You technically know enough C now to start writing Objective-C code, but I’ve seen a lot of brand-new Cocoa programmers quickly get in over their heads because they were missing key C concepts. So to help you avoid that phase, I’m introducing you to a few hand-picked advanced C techniques. Nothing is in this chapter by accident. If it’s here, I’m confident you will need it.

This is not a complete course in C. These are just the parts that are likely to help you in day-to-day Cocoa programming. You’re probably eager to jump right into Cocoa, so I’ve done everything I can to condense the fundamentals of C into two chapters instead of an entire book. If you’re already an expert C programmer, though, you can safely move on to the next chapter.

Arrays

So far, you’ve only used variables that hold a single value, but real programs need to handle many values at the same time. For example, in a photo sharing application, each album has some number of photos, but you don’t want to make a separate variable for each photo in each album.

To manage large groups of data in C, you use arrays. Unlike a normal variable, a single array can hold many values at the same time. You can create an array of just about anything: int values, float values, or any other C type. But the key is that an array isn’t a series of multiple variables. It’s a single variable that contains multiple values.

You can think of a normal variable as a four-door car—a single vehicle with ...

Get Cocoa and Objective-C: Up and Running now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.