mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-27 14:54:05 -06:00
vault backup: 2022-09-05 10:34:46
This commit is contained in:
parent
4ba9f6c861
commit
707a9cbb66
@ -4,6 +4,9 @@ aliases:
|
||||
tags:
|
||||
- cosc204
|
||||
- lecture
|
||||
sr-due: 2022-09-08
|
||||
sr-interval: 3
|
||||
sr-ease: 250
|
||||
---
|
||||
|
||||
compiler ⇒ converts high level language description of program into assembly description of the program
|
||||
@ -43,6 +46,7 @@ pointers to routines can beused anyqhere variables can
|
||||

|
||||
|
||||
# modules
|
||||
|
||||
we can break programs into functional modules
|
||||
- each modules excapsulates one behaviour
|
||||
- give us a way of data hiding
|
||||
@ -53,3 +57,28 @@ add pointer to structs as parameters to methods in modules
|
||||
- so that the implementation details are hidden
|
||||
|
||||

|
||||
|
||||
method in this struct are "black box"
|
||||
|
||||
we gain
|
||||
- abstraction
|
||||
- our queue has a print method, so could out stack, tree, and so on
|
||||
- we call ob->print() without needing to know (exactly) which print method is called
|
||||
|
||||
## constructor
|
||||
creates object, initialises it and sets up function pointers
|
||||

|
||||
|
||||
## destructor
|
||||
good to use. help with closing things and freeing memory
|
||||
|
||||
|
||||
# modules overview
|
||||
c programs consist of .c and .h files
|
||||
- put ADT declarations in the .h (header) files
|
||||
- we can `#include` these files if we want to use the ADT in a program
|
||||
- put routine implementations in .c files
|
||||
|
||||
## queue header
|
||||
pragma says include only once: prevent include loops
|
||||

|
||||
|
||||
@ -39,6 +39,7 @@ tags:
|
||||
- [07-6809-advanced](notes/07-6809-advanced.md)
|
||||
- [08-intro-to-c](notes/08-intro-to-c.md)
|
||||
- [11-struct-and-union](notes/11-struct-and-union.md)
|
||||
- [12-pointers-to-routines](notes/12-pointers-to-routines.md)
|
||||
|
||||
# Archive
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user