Clanguage Compilation
A high level
language with low level features.
Access to , and
management of memory prog .
( D
Proprocessing - prog .
( D
Compiling
A
This for
makes a
very powerful language *
*h prog . S
Where there there is
is
great power great responsibility *
prog &
Linking ① prog .
O
Assembling
A
Imperative :
Sequences of statements that are executed in turn
k
lib
Typed : Variables declared with a type
.
Control Structures : if for loops
, ,
while , etc
Memory Management : Direct manipulation of pointer structures
Data Structure
Pointers Arrays
Alias Address Data Source file : Collection of items
020A int var-a ; All items are the same size
0209 Items stored
Sequentially
in Far
are in
memory
var-a ↳ 0208 2001 b
-
;
0207 -o
Arrays and pointers are
essentially interchangeable in .
2
0206 var-a = 0x2001 ;
0205 --
0204 Vareb &var-a //varb points to Structures
=
; var-a
0203 Traditionally known
...
as records
Similar to the parts of
data an object in Java or Python
A struct has elements which are accessed via their names (rather than indices in
0105 an array
0104 Elements can be
different types (and sizes
var-b 0103 0208
0102
pack (1) tells the compiler to pack the data structure
0101
0100
OOFF
OOFE
Pointers live on the stack , but contain addresses of the heap
Arrays and structs live on the heap