CS208 Introduction to Computer Systems Monday, 15 January 2024 + Questions + JO's preferred code comments - Audience: intermediate or higher-skilled programmer - Brief comment at the top of the file copyright/names/dates brief description of the file - Brief comment at the top of each non-trivial function describing what the function does, relationship between parameters and return value, etc. [think about javadoc, pydoc, other automated documentation tools] - Citing a complex algorithm - Citing code you borrowed - Long straight-line code? Provide an outline in comments - Code that's inherently confusing? You can use comments to clarify. + The queues assignment - looking around the package - make test - the command-line test interface - the traces - typedef - the weird thing with typedef and list_ele_t - stuff to watch out for in manipulating nodes - suggested order - q_new - a utility function: list_ele_t *create_node(char *str) to be called by both q_insert_head and q_insert_tail - q_insert_head - maybe a utility function: void free_node(list_ele_t *node) - any order after this, since you're now able to create a queue + Integers - fixed-size (char, short, int, long, long long) - negative numbers - two's complement representation - what number is "int x = 0xfffffffc" and why? - negating two's complement representations - unsigned vs. signed - automatic type conversion - printing one char