String

Initialize a string: (2-3)
- char array syntax
- double quote syntax (automatically adds the null character)

Basic string operations: (4-11)
- Pass a string to a function
- Get length of a string
- Compare strings in lexicographical order

String I/Os: (12-22)
- Print a string
- Read in a string
- Explain why reading in a string with scanf is susceptible to buffer overrun.
- Error when printing an improper string

String literals: (23-29)
- Where and how are string literals stored?
- Where and how are mutable char array stored?
- Explain the difference between a char array and a char pointer.

Efficiency: (30-31)
- strlen and strcp: O(n)
- printf and scanf: O(n)

Array of strings (32-34)

How does the null termination convention affect the following things?
- initialize a string:  
	- reserve space for the null character
- passing a string to a function:
	- no need to pass the length because null terminator indicates the end.
- getting length of a string: 
	- null character used to determine end of string. 
	- length does not include null character
- printing a string: 
	- does not print the null character.  
	- an improper string cannot be printed correctly.
- scanf: 
	- reserve space for the null character

string.h functions:
- strlen
- strcmp
- strcpy
- strcat