Entire operating systems are written in C (except some parts where assembly is used, but they are few compared to the C part), therefore I cannot see why not. I never tried it however you can try opening a file for reading where the respective file is the microphone. What ever the microphone driver gets it places it in the respective file (that works like a buffer).
Same as reading from keyboard only different interpretation of what you read (e.g.: you don't read ASCII characters you read some frequency values or whatever a microphone records).