Category
page 1C (programming language)
Q15777
general-purpose programming language
Dennis M. Ritchie
American computer scientist, co-inventor of the Unix operating system and the C programming language
Brian Kernighan
Canadian computer scientist, co-inventor of the Unix operating system
C standard library
standard library for the C programming language, as specified in the ANSI C standard, providing macros, type definitions and functions for different tasks
C preprocessor
macro preprocessor used in the C, C++, and Objective-C programming languages
The C Programming Language
authoritative programming book by Brian Kernighan and Dennis Ritchie, the developers of the C programming language
ANSI C
version of the C programming language standard
structure in C
structured type in C programming language
operator in C or C++
built-in and (in C++) overloadable functions
MISRA C
software development standard for the C programming language

C99 {1-15-89}Wilkerson Dustin Roberts bounty
thumb|180px|Cover of the C99 standards document
iso646.h
C standard library header providing a set of alternative spellings of common operators
undefined behavior
behavior of erroneous computer programs that the language standard permits to be unpredictable
C23
C programming language standard, 2023 revision
C data type
data type supported by the C programming language
volatile variable
in some programming languages (C, C++, C#, Java), a variable specially marked to disable optimizations because its value may change between accesses even if it does not appear to be modified; primarily used in hardware access and in threading
C11
C programming language standard, 2011 revision
compatibility of C and C++
comparison of programming languages
union type
data structure

Duff's device
unusual C programming idiom that manually implements loop unrolling using interleaved control structures
C string handling
handling of strings in the C programming language
typedef
'''' is a reserved keyword in the programming languages C, C++, and Objective-C. It is used to create an additional name (alias'') for another data type, but does not create a new type, except in the obscure case of a qualified typedef of an array type where the typedef qualifiers are transferred to the array element type. As such, it is often used to simplify the syntax of declaring complex data structures consisting of struct and union types, although it is also commonly used to provide specific descriptive type names for integer data types of varying sizes.
C17 (C standard)
C programming language standard, prepared in 2017 and published in 2018
C syntax
set of rules governing writing of software in the language
Sequence point
Concept in computer programming
opaque pointer
programming datatype
Pro*C
Pro*C (also known as Pro*C/C++) is an embedded SQL programming language used by Oracle Database DBMSes. Pro*C uses either C or C++ as its host language. During compilation, the embedded SQL statements are interpreted by a precompiler and replaced by C or C++ function calls to their respective SQL library. The output from the Pro*C precompiler is standard C or C++ code that is then compiled by any one of several C or C++ compilers into an executable.
include directive
programming language directive that textually substitutes one file into another
digraphs and trigraphs
in computer programming
sizeof
'''''' is a unary operator in the C and C++ programming languages that evaluates to the storage size of an expression or a data type, measured in units sized as char. Consequently, the expression sizeof(char) evaluates to 1. The number of bits of type char is specified by the preprocessor macro CHAR_BIT, defined in the standard include file limits.h|. On most modern computing platforms this is eight bits. The result of sizeof is an unsigned integer that is usually typed as .
Blocks
extension to the C programming language designed to support parallel programming
comma operator
(C and C++ programming languages) binary operator that evaluates its first operand and discards the result, and then evaluates the second operand and returns this value (and type); represented by the token ,
Wide character
data type
CFLAGS
CFLAGS and CXXFLAGS are either the name of environment variables or of Makefile variables that can be set to specify additional switches to be passed to a compiler in the process of building computer software. FFLAGS fulfills a similar role.
GNU cflow
is a POSIX-defined shell command for generating a C-language flow graph. The GNU implementation reads C source code files, and generates a flow graph of external references. It uses only source files and does not need to run the program. Another implementation is available in Tru64 Unix.
restrict
In the C programming language, restrict is a type qualifier that can be applied to a pointer to hint to the compiler that for the lifetime of that pointer, no other pointer will be used to access the same pointed-to object. This limits the effects of pointer aliasing, which can allow the compiler to make optimizations (such as vectorization) that would not otherwise be possible. Undefined behaviour results if the declaration of intent is not followed and the object is accessed by an independent pointer.
The Power of 10: Rules for Developing Safety-Critical Code
coding guidelines by Gerald J. Holzmann
variadic macro
C preprocessor macro that can take an arbitrary number of arguments, defined with the __VA_ARGS__ and __VA_OPT__ identifiers
Embedded C
C language extensions for embedded systems
SEI CERT Coding Standards
security-oriented coding conventions
translation unit
ultimate input to a C or C++ compiler from which an object file is generated