C (programming language)

From WikiMD's Food, Medicine & Wellness Encyclopedia

Ken n dennis
The C Programming Language, First Edition Cover (2)
File:The C Programming Language cover.svg
The C Programming Language cover
Hello World Brian Kernighan 1974
1999 ISO C Concepts
The C Programming Language

C (programming language) is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system. By design, C provides constructs that map efficiently to typical machine instructions. It is therefore widely used by system software developers for developing operating systems and embedded system applications. Since its inception in the early 1970s, C has been a popular choice for software developers for its efficiency and control.

History[edit | edit source]

C was originally developed by Dennis Ritchie between 1969 and 1973 at Bell Labs to make utilities running on Unix. Its design reflects a synthesis of many ideas from the computing community, most notably the BCPL language by Martin Richards and the B language by Ken Thompson. The language's influence is such that it has led to the creation of a large number of new languages, including C++, C#, and Objective-C, which are termed its "descendants".

Syntax[edit | edit source]

The syntax of C has influenced many other programming languages due to its simplicity and expressiveness. C syntax is minimalistic; its basic syntax is centered around the manipulation of variables, arithmetic operations, control flow constructs such as loops and conditional statements, and the use of functions. The language also supports complex data types like structures and unions, providing a mechanism to handle grouped data.

Data Types[edit | edit source]

C provides a set of built-in data types, including integer types of various sizes, floating-point types, and the character type. It also allows for derived data types such as arrays, pointers, structures, and unions. The language's rich set of data types and operations allows for the direct manipulation of hardware and memory, which is crucial for system-level programming.

Memory Management[edit | edit source]

One of the key features of C is its support for dynamic memory allocation. Functions like malloc() and free() allow for the allocation and deallocation of memory during runtime, giving programmers explicit control over the memory footprint of their applications. This level of control, however, requires careful management of memory to avoid leaks and corruption.

Standard Library[edit | edit source]

The C standard library, defined in a number of header files, provides a set of functions, macros, and types necessary for performing input/output operations, string handling, mathematical computations, and various other utility functions. The standard library is an essential part of C programming, making it easier to perform complex operations.

Influence and Legacy[edit | edit source]

C's influence on the programming world is immense. It has directly or indirectly influenced the development of many later languages that dominate software development today. Its efficiency, portability, and flexibility have made it a favorite among programmers for system/software development, embedded systems, and high-performance computing.

Standardization[edit | edit source]

The language has been standardized by the American National Standards Institute (ANSI) since 1989 (ANSI C) and by the International Organization for Standardization (ISO) subsequently. The most recent standard is ISO/IEC 9899:2018, also known as C18.

See Also[edit | edit source]

Wiki.png

Navigation: Wellness - Encyclopedia - Health topics - Disease Index‏‎ - Drugs - World Directory - Gray's Anatomy - Keto diet - Recipes

Search WikiMD


Ad.Tired of being Overweight? Try W8MD's physician weight loss program.
Semaglutide (Ozempic / Wegovy and Tirzepatide (Mounjaro) available.
Advertise on WikiMD

WikiMD is not a substitute for professional medical advice. See full disclaimer.

Credits:Most images are courtesy of Wikimedia commons, and templates Wikipedia, licensed under CC BY SA or similar.


Contributors: Prab R. Tumpati, MD