In last week’s Lesson, I demonstrated code that builds a double-linked list: Each structure in the list references both the next structure and the previous structure. The first and last structure addresses are saved. And NULL pointers within the list its start and end. How all that junk becomes useful is apparent as you work with the list.
Continue reading
Author Archives: dgookin
Building a Double-Linked List
Similar to a linked list, a double-linked list requires that you work on both the current item in the list as well as the the previous item. You just have one additional structure member to update, which is the pointer from the current item to the previous structure.
Continue reading
Swapping Strings – Solution
This month’s Exercise involves swapping elements between two string arrays. A number of solutions exist (as always), but because the “strings” are really pointers, the solution can be very specific. Yes, you just might have to use that dratted ** notation. Brace yourselves.
Continue reading
The Dreaded Double-Linked List
As if a linked list itself isn’t one of the most terrifying things in C, another beast exists: the double-linked list. It mixes structures and pointers and offers gross potential for extreme mayhem. That sounds like fun!
Continue reading
Swapping Strings
Last month’s Exercise was rather silly: Rarely do you need to swap elements between two integer arrays. As Chris pointed out in the Exercise’s comments, “Would it not be easier to just use the array which contains the values you need?” Indeed, it is, which leads up to this month’s Exercise.
Continue reading
The size_t Variable Type
The C language has its basic variable types: char, int, float, double, struct, and that oddball newbie _Bool. Anything else you see as a “variable” is probably a convenient shortcut manufactured by using a typedef statement. Some of these typedef variables are faily standard, including the most common one, size_t.
Continue reading
Safe Coding Practices – putchar() as a Loop Condition
It’s not unsafe to use putchar() as condition inside a while loop. If you dare try it, however, you must ensure that it checks for file errors. That’s an area where my own code often falls short.
Continue reading
Safe Coding Practices – getchar() and putchar()
I confess that I get sloppy with getchar() and putchar(). These are macros, not functions, but the issue is that their return value is an int, not a char variable. The reason why is important if you want to follow safe coding practices.
Continue reading
Safe Coding Practices – Terminating a String
String constants and strings created or manipulated by C library functions all set that terminating null character, '\0'. When you build your own strings, however, it’s easy to completely forget that null character. I know. I’ve done it.
Continue reading
Swapping Arrays – Solution
The two functions required from this month’s Exercise are show_arrays() and swap_arrays(). They’re not that difficult to code, meaning that you don’t need to use the dratted ** notation or perform any special tricks. Here’s how I solved the problem:
Continue reading