mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-25 05:44:06 -06:00
vault backup: 2022-08-08 11:21:12
This commit is contained in:
parent
309a6dfede
commit
e40090ed64
@ -5,7 +5,7 @@ tags:
|
||||
- cosc204
|
||||
---
|
||||
|
||||
# Variables
|
||||
# Variables and Pointers
|
||||
|
||||
```
|
||||
va memory[3]
|
||||
@ -16,5 +16,22 @@ va memory[3]
|
||||
`*` is known as **dereferncing**
|
||||
`**` is known as **double-dereferncing**
|
||||
|
||||
## Names and places
|
||||
names are allocated to emmory locations of declaration
|
||||
|
||||
`&b;` wherever in memory b is stored
|
||||
|
||||
## Why Pointers
|
||||
- abstractions
|
||||
- dont need to know which "object" to manipulate
|
||||
- ability to change a parameter
|
||||
- multiple return values from a routine
|
||||
- efficiency
|
||||
- dont need to copy anything to pass a pointer
|
||||
|
||||
## Call by value
|
||||
- The value of the variable is passed to the called routine.
|
||||
- changes to the parameter do not propogate to the caller
|
||||
|
||||
## Call by address
|
||||
- address of parameter is passed to the rountine
|
||||
Loading…
Reference in New Issue
Block a user