Java: primitive variables reference variables C: primitive variables struct variables (C structs are kind of like primitive variables) array varaibles (C arrays are sometimes like primitives & sometimes like reference variables) string varaibles (C strings are a special kind of array) pointer variables (C pointers are kind of like Java reference variables)