Dynamic Memory
Program Translation
ADTs
Bitwise
Random Mops
100

These are three functions which allocate dynamic memory.

What are malloc, calloc, and realloc?

100

This step turns an assembly language file into a machine language file.

What is assembling?

100

This is the purpose of an ADT.

What is to hide implementation from the user?

100

This is the most common method used to represent binary numbers.

What is two's complement?

100

C is ____ type-checked, which means it occurs at compile time.

What is statically?

200

These are lines of code which leak 100 bytes of memory.

What are int * x = malloc(100); x = NULL; ?

200

This step combines multiple object files into an executable.

What is linking?

200

This file serves as the interface for the client when using an ADT.

What is a header file?

200

This is the 8 bit binary representation of -7.

What is 0b 1111 1001?

200

C is ____ typed, which means you can get around type restrictions.

What is weakly?

300

These are lines of code which use a dangling pointer.

300

This step of compilation breaks characters into groups representing symbols.

What is lexical analysis?

300

This type is used to store generic data.

What is void *?

300

0b 1001 0001 << 2

What is 0b 0100 0100?

300

This is a declaration of a function pointer which takes 2 C strings and returns and int.

What is int (*func)(char *, char *) ?

400

This is a problem with the following code and how to fix it.

What is memory must be allocated for each word, not just the pointers to the words; strcpy is copying to random memory addresses?

400

This step of compilation checks the syntax correctness of a syntax tree.

What is semantic analysis?

400

This keyword is used in a ADT header file to hide the implementation of a struct.

What is typedef?

400
char a = 87;

a >> 3 =

What is 10?

400

This is a macro which takes two arguments and combines them into a single token.

What is #define COMBINE(a, b) a##b    ?

500

This is the output of the following code:

What is 4?

500

This is the output of the following code:


What is nothing?

500

Given the following struct definitions for a queue ADT, this is an implementation of the enqueue function, which adds an item to the queue.

500

unsigned char a = 0b10001000;

char b = 0b11110000;

~a & b || 0b00110011=

What is 1?

500

This is the output of the following code.

What is 19?

M
e
n
u