Skip to content

C Environment Setup

You don’t necessarily need to install C development tools locally to start learning. Many websites offer online C compilers and execution environments where you can write, compile, and run C code directly in your browser. This is a great way to experiment with examples quickly.

Popular options include:

  • Compiler Explorer (godbolt.org)
  • OnlineGDB (onlinegdb.com)
  • Repl.it (replit.com)
  • JDoodle (jdoodle.com/c-online-compiler)

Most examples in this tutorial can be tested using such online tools. Try this basic “Hello, World!” program:

#include <stdio.h> // Include Standard Input/Output header
int main(void) { // Main function where execution begins
// Print the message to the console
printf("Hello, Modern C World!\n");
return 0; // Indicate successful execution
}

If you prefer to work locally or on larger projects, you’ll need to set up a C development environment on your computer. This typically requires two main components:

  1. Text Editor or IDE: To write your C source code.
  2. C Compiler: To translate your source code into machine-readable executable files.

Text Editor / Integrated Development Environment (IDE)

Section titled “Text Editor / Integrated Development Environment (IDE)”

You’ll write your C code in plain text files, usually with a .c extension (source files) and sometimes .h extensions (header files).

You can use any plain text editor, but a programming-focused editor or an IDE offers helpful features like syntax highlighting, code completion, debugging integration, and build system support.

Popular choices include:

  • Editors: Visual Studio Code (VS Code), Sublime Text, Atom, Notepad++, Vim, Emacs.
  • IDEs: CLion (commercial), Code::Blocks (free), Eclipse CDT (free), Visual Studio (Windows, free Community edition available).

The compiler takes your human-readable source code (.c files) and translates it into machine code (an executable program or object files). It often works in conjunction with a linker, which combines object files and libraries to create the final executable.

The most widely used C compilers today are:

  • GCC (GNU Compiler Collection): A free, open-source, and highly popular compiler available on nearly all platforms (Linux, macOS, Windows). Often invoked using the command gcc.
  • Clang: A newer, open-source compiler (part of the LLVM project) known for its speed and excellent diagnostics. Also widely available. Often invoked using the command clang.
  • MSVC (Microsoft Visual C++ Compiler): The compiler integrated with Visual Studio on Windows. Can be used from the command line or within the Visual Studio IDE.

Installation steps vary by operating system:

GCC is usually pre-installed or easily installable via your distribution’s package manager. Open a terminal and try:

gcc --version
# or
clang --version

If they aren’t installed, use your package manager:

// On Debian/Ubuntu based systems:
sudo apt update
sudo apt install build-essential # Installs GCC, make, and other essentials
# Optionally, install Clang:
sudo apt install clang
// On Fedora/CentOS/RHEL based systems:
sudo dnf update
sudo dnf groupinstall "Development Tools" # Installs GCC, make, etc.
# Optionally, install Clang:
sudo dnf install clang

The easiest way is to install Xcode’s Command Line Tools. Open the Terminal app (in Applications/Utilities) and run:

xcode-select --install

Follow the prompts. This will install Clang (which macOS often symlinks as gcc), Git, and other essential development tools. Alternatively, installing the full Xcode IDE from the App Store also includes these tools.

You have several options for getting GCC/Clang on Windows:

  • MinGW-w64: Provides a native Windows port of GCC. You can download an installer (e.g., from MSYS2 or directly from MinGW-w64 project sources). MSYS2 (msys2.org) is often recommended as it provides a package manager (pacman) to easily install MinGW-w64 toolchains (like mingw-w64-x86_64-gcc) and other development tools within a Unix-like shell environment.
  • Windows Subsystem for Linux (WSL): Allows you to run a Linux environment directly on Windows. Install WSL and a Linux distribution (like Ubuntu) from the Microsoft Store. Then, follow the Linux installation instructions within the WSL terminal.
  • Visual Studio: Install Visual Studio Community Edition (free). Select the “Desktop development with C++” workload during installation. This provides the MSVC compiler toolchain, which can be used from the included Developer Command Prompt or integrated with VS Code.

Important for Command Line Use: If using MinGW-w64 or MSYS2 without an IDE that handles it automatically, ensure the directory containing gcc.exe (e.g., C:\msys64\mingw64\bin) is added to your Windows PATH environment variable so you can run the compiler from any command prompt.

  1. Save the “Hello, World!” code above as hello.c.
  2. Open a terminal or command prompt where your compiler is accessible.
  3. Compile the code using GCC:
gcc hello.c -o hello # On Linux/macOS/MinGW/WSL
# or using Clang:
clang hello.c -o hello

(If using MSVC from a Developer Command Prompt, the command is often cl hello.c).

This creates an executable file named hello (or hello.exe on Windows).

  1. Run the executable:
./hello # On Linux/macOS/WSL/Git Bash
hello.exe # On Windows Command Prompt/PowerShell

You should see the output: Hello, Modern C World!