The C language doesn't implement strings. However, there is a convention used by all C code that a string is an consecutive sequence of bytes terminated by a zero character ('\0'). This code uses some of the string functions. Note that one very useful one is GNU specific, and might not be available on on *nix systems. This code also has a memory leak. Can you spot it? $ valgrind ./a.out will help you find it.