Exam Practice
Choose a deck after reading its lecture page. Mark missed cards as unknown, then repeat until the deck is mostly known.
Course logistics, grading, slip days, excused absences, and support workflow.
Operating systems, shell commands, paths, streams, redirection, pipes, permissions, SSH, and Bash scripts.
C as a compiled, statically typed language; number systems; basic syntax; functions; and memory layout.
Pointers, address-of and dereference, scanf, robust input loops, array decay, pointer arithmetic, and C strings.
Heap allocation, malloc/free, lifetimes, dangling pointers, leaks, growing arrays, and doubling capacity.
argc/argv, double pointers, strings from the OS, pointer-to-pointer 2D arrays, and flat 1D matrix storage.
Returning extra values through pointer parameters, output parameters, and using double pointers to mutate caller-owned pointers.
C structs, member access, struct pointers, arrow operator, linked lists, ADT design, and encapsulation motivation.
Declarations versus definitions, preprocessing, object files, linking, headers, incomplete types, and C encapsulation.
Modern C++ style, g++, streams, stream state, manipulators, new/delete, function overloading, and operator overloading.
References as aliases, reference rules, pass-by-reference, const references, returning references, and stream operators.
Classes, objects, methods, constructors, member initialization lists, access control, headers, getters/setters, and friends.
Destructors, copy constructors, copy assignment, move operations, copy elision, and the rule of five for resource-owning classes.
Loading questions...