Compiler – A computer program (known as a language translator) that converts the source code into object code.
Source code – These are the programming statements or lines of code written by a programmer in a text editor or IDE.
Object code – This is the machine language representation source code. Object code is produced after the source code is compiled/assembled/interpreted by a language translator.
Syntax – It is the way of writing a program in a particular programming language (the arrangement of tokens to form the correct programming structure).
Tokens – These are basic building blocks that can be put together to construct programs. Can also be referred to as the smallest distinct individual unit of a program. Examples include: keywords, identifiers, literals, operators.
Semantics – This is the logic or planning of the program.
Preprocessor Directives – Can also be termed directive or pragma. It helps alert the compiler of additional actions to be taken on the source code before it is compiled into object code. An example is can be to alert the compiler to use a specific header before compilation. Header File – A file that contains pre-written functions and other macro definitions.
Macro – A single instruction that expands automatically into a set of instructions to perform a task.
Symbolic Constant – It is a name given to a value in the program that will over and over in your program.
Comment – It is an annotation in your source code.
Function – This refers to groupings or modules of code that are designed to perform a specific task.
Keywords – These are reserved or predefined words whose meaning has already been explained to the C compiler.
Identifiers – These are names given to variables, functions and symbolic constants.
Variables – A place in memory that stores a type of data that varies during program execution.
Data types – These are classifications that specify the type of data a variable can hold in a program. Examples of data types include integers, strings, characters.
Escape Sequence – These are character combinations that possess a meaning other than the literal characters represented.
Operator – It is a symbol or function denoting an operation.
Operand – Refers to the data being manipulated and operated on.
Control Statements – These are lines of code used when making decisions about what task needs to be performed. These can be categorized into Selection Statements or Iterative Statements.
Selection Statements – These allow the program to choose any one path from different sets of execution paths based upon the outcome of an expression or the state of a variable.
Iterative Statements – This is whereby a loop repeats some portion of a program a number of times until a particular condition is satisfied.
Jump Statements – These help to skip a certain condition within a loop or to terminate the loop if a particular condition is true.
System Call – This is a programming mechanism in which a program requests a service directly from the Operating System’s kernel.
Flowcharts – These are diagrammatic representations of algorithms.
Function Prototype – It helps to inform the compiler of the nature of your function.
Function Definition – These implement the function prototypes.
Function Call – It is an expression that passes control and arguments to another function.
Argument – A value that is passed to a function when it is invoked.
Parameter – A value that is passed to a method when it is invoked.
Variable Scope – It denotes the accessibility of a variable in different functions of a program.
Array – It is a data structure that contains a number of data values of the same data type.
Declaration – This is the introduction of identifiers into the program.
Initialization - This is the assignment of an initial value to a variable.
Pointer – A variable which holds the address of other variables with specified data types.
Structures – These are a collection of variables related in nature but of different data types.
Typedef - It is a keyword used to construct shortcut names for predefined or user defined data types such as structures.
Unions – These are similar to structures but structures reserve separate memory segments for each of its members whereas union reserves only a single memory space for its largest member.
Type Casting – It enables one variable of a certain data type to be another.
Sentinel – A value that terminates a loop.