1. 7.8. THE C LANGUAGE
    1. 7.8.1. INTRODUCTION TO C
      1. 7.8.1.1. GETTING STARTED
        1. 7.8.1.1.1. INCLUDE FILES
        2. 7.8.1.1.2. COMPILING SEPARATE FILES
        3. 7.8.1.1.3. #DEFINE MACROS
      2. 7.8.1.2. OPERATORS
        1. 7.8.1.2.1. ARITHMETIC OPERATORS
        2. 7.8.1.2.2. COMPARISON
        3. 7.8.1.2.3. LOGICAL
        4. 7.8.1.2.4. ASSIGNMENT
        5. 7.8.1.2.5. SHIFT OPERATORS
        6. 7.8.1.2.6. UNARY OPERATORS
        7. 7.8.1.2.7. CONDITIONAL OPERATOR
        8. 7.8.1.2.8. OPERATOR EVALUATION ORDER
      3. 7.8.1.3. DATA TYPES
        1. 7.8.1.3.1. VARIABLE SCOPE
      4. 7.8.1.4. ENUMERATION
      5. 7.8.1.5. DEFINING DATA TYPES
      6. 7.8.1.6. CONTROL STRUCTURES
        1. 7.8.1.6.1. IF
        2. 7.8.1.6.2. WHILE
        3. 7.8.1.6.3. FOR
        4. 7.8.1.6.4. SWITCH
      7. 7.8.1.7. OTHER C STATEMENTS
        1. 7.8.1.7.1. BREAK
        2. 7.8.1.7.2. CONTINUE
        3. 7.8.1.7.3. RETURN
    2. 7.8.2. C FUNCTIONS
      1. 7.8.2.1. I/O
        1. 7.8.2.1.1. BASIC I/O
        2. 7.8.2.1.2. FORMATTED I/0
          1. 7.8.2.1.1.1. FORMAT SPECIFIERS
          2. 7.8.2.1.1.1. FORMAT SPECIFIERS FOR SCANF
        3. 7.8.2.1.2. FORMATTED FILE I/0
      2. 7.8.2.2. STRING MANIPULATION
      3. 7.8.2.3. MEMORY ALLOCATION
      4. 7.8.2.4. CONVERSION
      5. 7.8.2.5. MATH
    3. 7.8.3. ADVANCED C
      1. 7.8.3.1. COMMAND LINE ARGUMENTS
      2. 7.8.3.2. USING #ifdef DEBUG FOR DEBUGGING
      3. 7.8.3.3. CURSES
        1. 7.8.3.3.1. CURSES THEORY
        2. 7.8.3.3.2. CURSES FUNCTIONS
        3. 7.8.3.3.3. COMPILING CURSES
    4. 7.8.3. ADVANCED C
      1. 7.8.3.1. COMMAND LINE ARGUMENTS
      2. 7.8.3.2. USING #ifdef DEBUG FOR DEBUGGING
      3. 7.8.3.3. CURSES
        1. 7.8.3.3.1. CURSES THEORY
        2. 7.8.3.3.2. CURSES FUNCTIONS
        3. 7.8.3.3.3. COMPILING CURSES
    5. 7.8.4. C IN THE UNIX ENVIRONMENT
      1. 7.8.4.1. FORK
      2. 7.8.4.2. PIPES
      3. 7.8.4.3. NAMED PIPES (FIFO's)
      4. 7.8.4.4. EXEC
      5. 7.8.4.5. SYSTEM
      6. 7.8.4.6. SIGNALS
      7. 7.8.4.7. SOCKETS
        1. 7.8.4.7.1. CREATING SOCKETS
        2. 7.8.4.7.2. NAMING THE SOCKET
        3. 7.8.4.7.3. CONNECTING A SOCKET TO A PORT
        4. 7.8.4.7.4. LISTENING FOR CONNECTIONS
        5. 7.8.4.7.5. ACCEPTING A CONNECTION
        6. 7.8.4.7.6. NETWORK BYTE ORDER
        7. 7.8.4.7.7. CONNECTING TO A SOCKET
        8. 7.8.4.7.8. SENDING AND RECEIVING DATA
    6. 7.8.5. REFERENCES