notes:data
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
notes:data [2018/08/19 10:15] – wedge | notes:data [2018/10/24 23:39] (current) – [URLs] ktodd3 | ||
---|---|---|---|
Line 6: | Line 6: | ||
======Projects====== | ======Projects====== | ||
+ | dsi0 | ||
+ | ael0 | ||
======URLs====== | ======URLs====== | ||
+ | Binky Pointer Video: | ||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
======Notes====== | ======Notes====== | ||
+ | ====Pointers: | ||
+ | |||
+ | char x = 0; | ||
+ | |||
+ | char -> 1 byte (8 bits) | ||
+ | Default char -> signed (2^8 -> 256 -> -128, +127 [one is used for positive/ | ||
+ | |||
+ | the asterisk (*) indicates a " | ||
+ | signed char *y = NULL; | ||
+ | ^ | ||
+ | | ||
+ | (void*)0 | ||
+ | Void pointers are raw memory | ||
+ | |||
+ | |0| | ||
+ | --- | ||
+ | x | ||
+ | 0xdeadbeef | ||
+ | | ||
+ | | ||
+ | y | ||
+ | | ||
+ | |||
+ | Access an address with & | ||
+ | |||
+ | Make y = deadbeef without using " | ||
+ | |||
+ | y = &x | ||
+ | Now, y's data is the address of x. | ||
+ | |||
+ | x contains the data ' | ||
+ | |||
+ | If we do this: | ||
+ | |0| | ||
+ | --- | ||
+ | x | ||
+ | 0xdeadbeef | ||
+ | | ||
+ | | ||
+ | y | ||
+ | | ||
+ | |||
+ | x = 7; | ||
+ | *y = 13; | ||
+ | |||
+ | Then: | ||
+ | |13| | ||
+ | ---- | ||
+ | x | ||
+ | 0xdeadbeef | ||
+ | | ||
+ | | ||
+ | y | ||
+ | | ||
+ | |||
+ | x is now 13 because y is x's address, and you ' | ||
+ | |||
+ | Double pointers are arrays or whatever | ||
+ | | | | ||
+ | ------------ | ||
+ | z | ||
+ | | ||
+ | signed char **z = NULL; | ||
+ | | ||
+ | So we're gonna give this some garbage | ||
+ | |0xcoffee| | ||
+ | ---------- | ||
+ | z | ||
+ | 0xc05fefe | ||
+ | And do nothing with it because we kind of just stopped I think. | ||
+ | | ||
+ | Memory addresses are 8 bytes on 64 bit linux systems. | ||
+ | 4 bytes on 32 bit linux systems. | ||
======Other====== | ======Other====== |
notes/data.1534688122.txt.gz · Last modified: 2018/08/19 10:15 by wedge