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
Last revisionBoth sides next revision
notes:data [2017/09/21 14:16] – [I dunno lol] cmerola2notes:data [2018/10/04 01:24] – [URLs] ktodd3
Line 1: Line 1:
-======Data Structures Course Notes======+<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>
  
-=====week 1=====+======Projects====== 
 +dsi0 
 +ael0 
 +======URLs====== 
 +Binky Pointer Video: 
 +https://www.youtube.com/watch?v=f-pJlnpkLp0
  
-=====week 2===== +[[https://www.learn-c.org/en/Linked_lists]]Basic linked list tutorial  
-Nodes are structures that contain data and also can point and "link" to another node, creating a list.+======Notes====== 
 +====Pointers:====
  
-Nodes do not necessarily need to be a named variable, but rather can be pointed to by variables that can be moved depending if the list has been changed.(ie. start&tmp)+char x = 0;
  
-Ternary statements= "(condition? statementiftrue : statementiffalse;"+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
  
-=====I dunno lol===== +    |0| 
-"List" in sll0 is just an "engine" and "caboose", which are pointers (like tmpto "start" and "end", therefore "mklist()" is super easy to use+    --- 
 +    x 
 +    0xdeadbeef 
 +       |NULL(0)
 +       --------- 
 +       y 
 +       0xcoffee 
 +        
 +Access an address with &
  
-=====whaaat===== +Make y deadbeef without using "deadbeef" by using the address (&) my man.
---i increments before loop, i-- increments after first iteration+
  
 +   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.txt · Last modified: 2018/10/25 03:39 by ktodd3