C

C Tutorial — Learn C Programming

Key takeaway: This free C tutorial teaches you systems programming from scratch — variables, pointers, arrays, functions, structs, and memory management — with practical code examples you can compile and run.

C is a general-purpose, procedural programming language created in 1972. It is used for operating systems, embedded systems, game engines, and performance-critical applications. This tutorial is for beginners, CS students, and developers who want to understand how computers work at a low level.

Last updated: September 2026

Keywords and Identifiers in C

Keywords are reserved words in C that have special meanings and cannot be used as identifiers. Identifiers are names given to variables, functions, and other user-defined items.

C Keywords

C has 32 keywords that are reserved and cannot be used as variable names:

auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while

Identifiers

Identifiers are names given to variables, functions, arrays, etc. They must follow these rules:

Must start with a letter (a-z, A-Z) or underscore (_)
Can contain letters, digits (0-9), and underscores
Case-sensitive (age and Age are different)
Cannot be a keyword
Cannot start with a digit

Examples

Valid and Invalid Identifiers
// Valid identifiers
int age;
float _salary;
char firstName;
int student1;

// Invalid identifiers
int 2age;        // starts with digit
float int;       // keyword used
char first-name; // hyphen not allowed

Explanation

  • Keywords: Reserved words with special meaning (e.g., int, return) that you cannot use as variable names.
  • Identifiers: Names for variables, functions, etc. Must start with a letter or underscore and are case-sensitive.
  • Naming conventions: Prefer descriptive names like totalCount over single letters for readability.
  • Common mistakes: Starting with digits, using hyphens, or accidentally using a keyword as a name.
Keywords
C keywords, identifiers, naming rules, reserved words, conventions
Quick Tips
  • Use consistent casing (camelCase or snake_case) across your codebase.
  • Avoid underscores at the start for public names; use descriptive names instead.
  • If you get a compiler error, check for misspelled identifiers or keywords used as names.

Frequently Asked Questions

C is a foundational systems programming language that's been around since the 1970s. It's the base for Linux, Windows, and most operating systems. Learning C gives you deep understanding of memory, pointers, and how computers work — skills that transfer to every other language. According to the TIOBE Index, C consistently ranks in the top 2 most popular languages.

No, zero experience needed. Our C programming tutorial is designed for complete beginners. We start with Hello World and gradually progress to pointers and memory management. Basic computer literacy and logical thinking are helpful but not required.

Just a C compiler — or use our free online compiler. For beginners, our online C compiler requires no installation. For local development, use GCC (available on all platforms). IDEs like VS Code, Code::Blocks, or Dev-C++ also work well.

2–4 weeks for basics, 3–6 months for proficiency. With 1–2 hours daily practice, you can learn syntax, loops, and functions in a few weeks. Mastering pointers, memory management, and data structures takes 6–12 months. Practice with our C programming examples.

C programming skills open doors to various career paths including system programming, embedded systems development, operating system development, device driver programming, game development, and firmware development. Many companies in automotive, aerospace, telecommunications, and IoT sectors actively seek C programmers.

Yes, extremely relevant. C consistently ranks in the top 2 on TIOBE and powers Linux, embedded systems, IoT, automotive software, and game engines. Understanding C makes you a better programmer in any language since most runtimes (Python, Java, Node.js) are themselves written in C.