There is nothing special about the underscore - it is just another legal idetifier character. todoStruct and the following 5 variables are the memory that the todo will be read into. The 5 _ variables are never referenced directly. See main for how todoStruct (and indirectly these other variables) are used.