Book Image

Learn C Programming - Second Edition

By : Jeff Szuhay
Book Image

Learn C Programming - Second Edition

By: Jeff Szuhay

Overview of this book

The foundation for many modern programming languages such as C++, C#, JavaScript, and Go, C is widely used as a system programming language as well as for embedded systems and high-performance computing. With this book, you'll be able to get up to speed with C in no time. The book takes you through basic programming concepts and shows you how to implement them in the C programming language. Throughout the book, you’ll create and run programs that demonstrate essential C concepts, such as program structure with functions, control structures such as loops and conditional statements, and complex data structures. As you make progress, you’ll get to grips with in-code documentation, testing, and validation methods. This new edition expands upon the use of enumerations, arrays, and additional C features, and provides two working programs based on the code used in the book. What's more, this book uses the method of intentional failure, where you'll develop a working program and then purposely break it to see what happens, thereby learning how to recognize possible mistakes when they happen. By the end of this C programming book, you’ll have developed basic programming skills in C that can be easily applied to other programming languages and have gained a solid foundation for you to build on as a programmer.
Table of Contents (37 chapters)
1
Part 1: C Fundamentals
10
Part 2: Complex Data Types
19
Part 3: Memory Manipulation
22
Part 4: Input and Output
28
Part 5: Building Blocks for Larger Programs

Method 2

In a terminal/console with a Unix shell (such as csh, tsh, bash, and so on), do the following:

  1. Create a simple program – for example, hello.c.
  2. Add the header file you want to find, and save it.
  3. In a bash command shell, execute the following:
    cc -H hello.c 2>&1 | grep '^\.\ '

This command, which looks like a lot of gobbledegook, is doing the following:

  1. It invokes the compiler with the -H option. The list of header files is sent to stderr.
  2. 2>&1 redirects stderr to stdout.
  3. stdout is then redirected via a pipe (|) to grep, a regular expression parser.
  4. grep is told to search the beginning of each line for <period><space>:
    • '…' is the search string.
    • ^ indicates the beginning of a line.
    • \. is a period (this is important, as a dot (.) alone has special meaning in grep).
    • \ is a space (this is important, as a space alone has special meaning in grep).
  5. You will now only see one or two...