I’ve written before about array subscripts and how they’re secretly expressions. But another weird aspect of array subscripts also looms on the horizon: The format a[1]
can be written as 1[a]
.
Continue reading
Author Archives: dgookin
Exploring Allocated Memory
Details about a pointer can easily be obtained and output: it’s name, address, and contents. Obtaining the size of the buffer it references, however, is a different animal.
Continue reading
The Art of Memory Reallocation
Clearing the pointer hurdle is a major leap to learning the C programming language. Using the malloc() function to allocate storage is central to grasping this concept. Then along comes the realloc() function, and minds are blown.
Continue reading
Hungarian Notation Rhapsody
The rules for naming variables, or identifiers, in C are simple: The names must start with a letter and contain letters and numbers. The _ (underscore) counts as a letter. Upper- and lowercase letters are considered differently. And only the first 31 characters are significant, though some platforms may extend this length.
Continue reading
The Seventh Line – Solution
This month’s programming Exercise isn’t as much about file access as it’s about dealing with a situation when no data is available. The task: Read the seventh line from a file.
Continue reading
What is This? Why do I Want It? What Does it Do?
Sometimes I turn off my programmer brain and look at code to admire it in an innocent way. At first glance a C program source code file looks poetic, using the same patterns and flow. Code is also cryptic, which inspires many programmers to try to invent a new way to do something in a charming and confusing manner. One of my attempts was to rationalize this expression: ++a++
Continue reading
The Seventh Line
Difficulty: ★ ★ ☆ ☆
For me, the scariest part of learning how to program a computer was file access. The problem was the horrid documentation. It introduced both sequential and random file access together without much explanation. So it was with much trepidation that I wrote my first file I/O program. That’s when I realized that the manual was stupid.
Continue reading
Optimizing My Code
One of the burdens of being a programmer is that few people are witness to your brilliance. You can write the keenest code since the Countess of Lovelace and it’s likely no one will ever appreciate your genius. But don’t let this limitation stop you!
Continue reading
Merry Pointer Mischief
Nothing paralyzes a C programmer like double-asterisk notation. What does it mean? Can you use it? How is it passed to a function and then referenced? I, too, fall victim to this confusion. So a good explanation is in order.
Continue reading
More ANSI Code Cursor Manipulation
C is stream oriented, but in a terminal window you can use ANSI commands to provide more control. These commands can change text color as well as manipulate the cursor’s location, as covered in this month’s Exercise solution. The manipulation isn’t over yet!
Continue reading