1. Arrays allow storing a collection of related data items and can be one-dimensional or multidimensional.
2. Two-dimensional arrays are arrays of one-dimensional arrays with two indices to access elements.
3. Preprocessor directives like #include and #define are instructions to the compiler and are not part of the C language itself. They expand the scope of the programming environment.