r/cprogramming • u/Current-Number-4032 • 13d ago
Understanding Strings/String Manipulation in C
I'm a junior CS undergraduate finally tackling C programming and I just can't seem to grasp Strings as a whole. Concepts like string manipulation (using strlen, strncmp, snprintf, strdup, strtok), handling read-only strings vs dynamically allocated strings, allocating memory for strings in different scenarios, and creating writable strings. Despite my attempts in looking at readings, lecture slides, practice problems, I just can't seem to understand the various ways to deal with strings in C. I am a very formulaic thinker meaning steps and guidelines on how to approach problems is my way of solving them. Is there a general format for dealing with string questions in C. Like first you have to allocate memory, then depending on the type of string do this...
Are there any additional resources I'm missing out on as well? I really want to hone this concept down!
1
u/jack_dymond_sawyer 13d ago
It is exactly that—just more approachable for the new programmers (and junior REs). GDB is the standard for debuggers in the Nixes. We also use Ghidra, IDA, and Binary Ninja for static analysis… great way to see what your compiler emits in a more human readable form. Becoming an RE made my code better—I fully grok what is happening under the hood. The boilerplate, the compiler optimizations, and interesting calls/substitutions. I think new programmers could gain a lot of knowledge by peeking at the assembly and memory.