Outline of the C programming language
Appearance
This article needs additional citations for verification. (September 2025) |
The following outline is provided as an overview of and topical guide to C:
C is a general-purpose programming language, procedural programming language, compiled language, and statically typed programming language. It was created by Dennis Ritchie in 1972 at Bell Labs as a successor to the B programming language.[1]
What type of language is C?
[edit]C can be described as all of the following:
- Programming language — artificial language designed to communicate instructions to a machine, particularly a computer.
- Compiled language — language implemented through compilers rather than interpreters
- Procedural programming language — programming paradigm based on the concept of procedure calls
- General-purpose programming language — designed for writing software in a wide variety of application domains
- Statically typed programming language — type checking is performed at compile-time[2][3]
History of C
[edit]- B programming language — precursor to C [4]
- K&R C — early version described by Kernighan and Ritchie
- ANSI C / ISO C standards:[5]
General C concepts
[edit]- Callback[7]
- Control flow[8][9]
- Pointers in C
- Dynamic memory allocation
- Data types in C
- Enumeration[10]
- File input/output
- Functions[11]
- Header files
- Memory management in C
- Operators in C
- Preprocessor directives
- Recursion[12]
- Standard streams
- Static variable[13]
- C string handling
- Structs in C
- Type conversion
- Undefined behavior
- Unions in C
- Variables in C[14]
Issues / Limitations
[edit]C Toolchain
[edit]| This article is part of a series on the C programming language |
C compilers
[edit]- GCC — GNU Compiler Collection
- Clang — LLVM C compiler
- MSVC — Microsoft Visual C++ compiler (supports C)
- TinyCC
- Turbo C
C libraries
[edit]C Standard Library
[edit]The C standard library provides fundamental routines for:[16]
- Input/output (stdio.h)
- String handling (string.h)
- Mathematical computations (math.h)
- Memory management (stdlib.h)
- Time and date (time.h)
Other notable libraries
[edit]Notable projects written in C
[edit]- CPython — the reference implementation of the Python programming language
- Git — version control system
- Linux kernel
- Lua
- PostgreSQL — relational database system
- Redis — in-memory database
- SQLite — embedded database engine
- Unix — originally rewritten in C at Bell Labs
- Vim
Example source code
[edit]C publications
[edit]Books about C
[edit]- Andrew Koenig – C Traps and Pitfalls
- Brian W. Kernighan – The C Programming Language
- Guy L. Steele Jr. – C: A Reference Manual
- Herbert Schildt – C, The Complete Reference
- Peter van der Linden – Expert C Programming: Deep C Secrets
Magazines about C
[edit]- C/C++ Users Journal — (historical publication)
C programmers
[edit]- John Carmack – game programmer, known for Doom and Quake.
- Brian Kernighan — wrote The C Programming Language book
- Rob Pike – worked on Unix and Plan 9, contributed to C and its ecosystem.
- Dennis Ritchie — created the C programming language
- Richard Stallman – founder of the GNU Project
- Tim Sweeney – founder of Epic Games and creator of Unreal Engine
- Ken Thompson — Unix
- Linus Torvalds — Linux
C dialects
[edit]- Cyclone — safe variant
- Embedded C
- GNU C — features specific to GCC
- K&R C
- Microsoft C — Microsoft-specific extensions
- Objective-C — object-oriented extension of C
C learning resources
[edit]- Codecademy – interactive C programming lessons
- GeeksforGeeks – tutorials, coding examples, and interactive programming for C concepts and data structures
- Learn-C.org – free interactive C tutorial for beginners
- CProgramming.com Tutorial – tutorials, examples, and best practices for learning C[17]
- W3Schools – beginner-friendly C tutorials
- Wikibooks C Programming – free open-content textbook
- Codeforces – an online platform for programming contests that supports C submissions
- Codewars – gamified coding challenges
- HackerRank – competitive programming and interview preparation site with C challenges
- LeetCode – online judge and problem-solving platform
See also
[edit]- Compatibility of C and C++
- List of software programming journals
- List of C-family programming languages
- Outline of computer programming
- Outline of software
- Outline of software engineering
Outlines of other programming languages
[edit]- Outline of the C sharp programming language
- Outline of the C++ programming language
- Outline of the Java programming language
- Outline of the JavaScript programming language
- Outline of the Perl programming language
- Outline of the Python programming language
- Outline of the Rust programming language
References
[edit]- ^ "Introduction to C". W3Schools.
- ^ "C Programming Language - FASRC DOCS". docs.rc.fas.harvard.edu. April 29, 2024.
- ^ "What is C (programming language)? | Definition from TechTarget". SearchWindows Server.
- ^ "USERS' REFERENCE TO B ON MH-TSS" (PDF). Nokia. 1973.
- ^ Ritchie, Dennis M. (1988). The C Programming Language (2nd ed.). Prentice Hall. ISBN 0-13-110362-8.
- ^ "Standard in C". GeeksforGeeks. January 10, 2014.
- ^ "Callbacks in C". GeeksforGeeks. October 18, 2017.
- ^ "Control flow statements in Programming". GeeksforGeeks. March 4, 2024.
- ^ "C Control Flow Examples". www.programiz.com.
- ^ "Enumeration (or enum) in C". GeeksforGeeks. October 31, 2014.
- ^ "Functions in C". GeeksforGeeks. October 9, 2022.
- ^ "C/Recursion". www.cs.yale.edu.
- ^ "Static Variables in C". GeeksforGeeks. July 3, 2015.
- ^ "Integralist". www.integralist.co.uk.
- ^ "Security issues in C language". GeeksforGeeks. November 10, 2021.
- ^ "C Library Functions". GeeksforGeeks. July 18, 2021.
- ^ "C Programming Tutorial". cprogramming.com.