Chapter 1 C was motivated to compete with assembly language It's a bit more primative, e.g., goto No garbage collection, No ArrayLists but C standard library with "standard I/O" if... while.... for .... are what Java uses But the condition is an integer, no boolean C preprocessor with symbolic constants Chapter 2 Usual types, but no standardization of size/range (100000 can't be stored in an Arduino int) and no boolean! and signed and unsigned integers No byte and char is different (Java char is like C unsigned short) literals -- constants ----pretty much the same 100l is a long enumerations was a late entry to Java I/O is important, Java printf descends from C printf Same operations, but logical and relational return integer, 0 or 1 Similar type conversations but narrower conversations just get a warning ALWAYS Use cast to remove the warning Chapter 3 Looks a lot like Java Switch statement even has the "fall through" Blame the computed goto of FORTRAN for this Even break and continue goto !!!! Chapter 4 functions --- not methods! o.f(x,y,z) a bit like o.f(o,x,y,z) function prototype vs function definition ~ interface assert (never used it) exit() --- ultimate bailout should go to the end of main and return by convention, interger return values indicate success or failure success is ususally 0 (huh? -- see mkdir) C standard library has many useful functions Chapter 5 -- scope (reference in old notes) inside functions ~~ inside methods EXC static inside file ~~ inside class EXC extern header files... didn't see that coming define prototypes, external variables (stdout), ... Chapter 7 -- pointers What is an int* or char* or int** or void* & as address-of operator * as dereference operator study examples on page 50 void* is a "g const int * p1; vs int const * p2; this can be a significant performance issue call by reference (vs call by C) C++ has an int & ... pointers and array int X[5] ; ---> int * const X -- pointer arithemetic for speed... return of pointers to locally allocated values NULL pointers to pointers strtol function pointers qsort Chapter 8 -- arrays and strings generally size of array is set in declaration << dynamic memory is later -- the old 201/202 boundary >> sizeof hack to determine number of arrays character arrays and strings standard strings operators (cf Java) arrays of pointers Java 2D array multidimensional array row order vs column order