Introduction to C Strings
An introduction to C Strings
In C, strings are one special kind of array: a string is an array of char
values:
char name[7];
I introduced the char
type when I introduced types, but in short it is commonly used to store letters of the ASCII chart.
A string can be initialized like you initialize a normal array:
char name[7] = { 'F', 'l', 'a', 'v', 'i', 'o' };
Or more conveniently with a string literal (also called string constant), a sequence of characters enclosed in double quotes:
char name[7] = "Flavio";
You can print a string via printf()
using %s
:
printf("%s", name);
Do you notice how “Flavio” is 6 chars long, but I defined an array of length 7? Why? This is because the last character in a string must be a 0
value, the string terminator, and we must make space for it.
This is important to keep in mind especially when manipulating strings.
Speaking of manipulating strings, there’s one important standard library that is provided by C: string.h
.
This library is essential because it abstracts many of the low level details of working with strings, and provides us a set of useful functions.
You can load the library in your program by adding on top:
#include <string.h>
And once you do that, you have access to:
strcpy()
to copy a string over another stringstrcat()
to append a string to another stringstrcmp()
to compare two strings for equalitystrncmp()
to compare the firstn
characters of two stringsstrlen()
to calculate the length of a string
and many, many more.
I will introduce all those string functions in separate blog posts, but just know that they exist.
→ I wrote 17 books to help you become a better developer:
- C Handbook
- Command Line Handbook
- CSS Handbook
- Express Handbook
- Git Cheat Sheet
- Go Handbook
- HTML Handbook
- JS Handbook
- Laravel Handbook
- Next.js Handbook
- Node.js Handbook
- PHP Handbook
- Python Handbook
- React Handbook
- SQL Handbook
- Svelte Handbook
- Swift Handbook
Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025