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, procedural, compiled, and statically typed programming language. It was created by Dennis Ritchie in 1972 at Bell Labs as a successor to the B language.[1]
What type of language is C?
editC 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
editGeneral C concepts
edit- Callback[7]
- Control flow[8][9]
- Pointers
- Dynamic memory allocation
- Data types
- Enumeration[10]
- File input/output
- Functions[11]
- Header files
- Memory management
- Operators
- Preprocessor directives
- Recursion[12]
- Standard streams
- Static variables[13]
- String handling
- Structs
- Type conversion
- Undefined behavior
- Unions
- Variables[14]
Issues / Limitations
editC Toolchain
editNotable 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
- GNOME, MATE and Xfce — desktop environments
- X window system and Wayland — windowing systems
Example source code
editC publications
editBooks 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
editReferences
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.