This is used to read the memory referenced by a pointer
What is a dereference (*)?
This runs before the compiler and handles directives like #include and #define
What is the preprocessor?
Four of C's primitive types
What are char, short, int, long, float, double (any four)?
This C library can be used to create and manage threads
What is pthread?
This function allocates space on the heap
What is malloc?
This step runs after the compiler and combines multiple object modules into a load module
What is the linker?
An ADT implements this object-oriented principle by hiding its implementation in a separate file
What is encapsulation/data hiding?
This system call creates a copy of a process. You can check the return value to see if you are the original process or the copy
What is fork?
What are dangling pointers and memory leaks?
This step converts the source code into a list of tokens
What is lexing (lexical analysis)?
This data structure allows multiple fields to overlap in memory -- writing to one can overwrite the contents of others.
What is a union?
This resource is shared by threads but not by processes
What is memory?
This keyword indicates that two function arguments cannot point to the same memory
What is restrict?
The order of the following translation steps:
Optimization, semantic analysis, code generation, lexical analysis, parsing.
What is lexical analysis, parsing, semantic analysis, optimization, code generation?
Two functions any ADT should have
What are create/destroy? (new/delete, etc.)
This can be used to prevent two threads from accessing the same resource at the same time.
What is a mutex?