Arrays allow storing multiple values of the same type sequentially in memory. An array is declared with the type, name, and size. Elements are accessed using indexes from 0 to size-1. Strings are represented as character arrays terminated with a null character. Arrays can be passed to and returned from functions, and multidimensional arrays store arrays within arrays. Standard libraries provide functions for string and character manipulation.