What happens when you type `ls *.c` in bash?

A brief overview of the commands:

ls : Lists contents of a directory

*(asterisk) : Wildcard is a global pattern

When the enter button is pressed, the shell lists (ls) and expands any patterns that match the qualifying search pattern (via “*” key), in this case any file ending in “.c”.

and BOOM! There you now have a list with all files in the current working directory ending in “.c”.