you might start here
]. This is a python based c-parser that looks promising to me. I have not used it, though.
There might be several C parsers around (for sure several yacc grammars, e.g. http://www.lysator.liu.se/c/ANSI-C-grammar-y.html
]). The C language is not so complex to parse compared to C++, C#, etc.
The real challenge starts with the analysis you want to perform on the parsed AST.
It is not clear to me what exactly you want to extract from the "scan".