User Tools

Site Tools


notes:data

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
notes:data [2015/01/19 20:03] – removed wedgenotes:data [2018/10/24 23:39] (current) – [URLs] ktodd3
Line 1: Line 1:
 +<WRAP centeralign round box>
 +<WRAP><color red><fs 200%>Corning Community College</fs></color></WRAP>
 +<WRAP><fs 150%>CSCS2320 Data Structures</fs></WRAP>
 +<fs 125%>Course Wiki Page</fs>
 +</WRAP>
  
 +======Projects======
 +dsi0
 +ael0
 +======URLs======
 +Binky Pointer Video:
 +
 +[[https://www.youtube.com/watch?v=f-pJlnpkLp0|Binky Pointer Video]]
 +
 +[[https://www.learn-c.org/en/Linked_lists|Basic linked list tutorial ]]
 +======Notes======
 +====Pointers:====
 +
 +char x = 0;
 +
 +char -> 1 byte (8 bits)
 +Default char -> signed (2^8 -> 256 -> -128, +127 [one is used for positive/negative value])
 +
 +the asterisk (*) indicates a "pointer"
 +    signed char *y = NULL;
 +                ^
 +                                
 +(void*)0
 +Void pointers are raw memory
 +
 +    |0|
 +    ---
 +    x
 +    0xdeadbeef
 +       |NULL(0)|
 +       ---------
 +       y
 +       0xcoffee
 +       
 +Access an address with &
 +
 +Make y = deadbeef without using "deadbeef" by using the address (&) my man.
 +
 +   y = &x
 +Now, y's data is the address of x.
 +
 +x contains the data '0'
 +
 +If we do this:
 +    |0|
 +    ---
 +    x
 +    0xdeadbeef  <- address
 +       |0xdeadbeef|
 +       ------------
 +       y
 +       0xcoffee <- address
 +       
 +   x = 7;
 +   *y = 13;
 +
 +Then:
 +    |13|
 +    ----
 +    x
 +    0xdeadbeef  <- address
 +       |0xdeadbeef|
 +       ------------
 +       y
 +       0xcoffee <- address
 +
 +x is now 13 because y is x's address, and you 'pointed' 13 to the address. Ill, dog.
 +
 +
 +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======
notes/data.1421715810.txt.gz · Last modified: 2015/01/19 20:03 by wedge