Easy to read, good standard C
Your code sucks
If you don't have it on its own line, you can't grep for just the definition; you'll find function calls, as well. Having it on its own line makes it as easy as prefixing a ^ to the function name when searching.
And again, if you don't do it, that's fine with me. I'm not claiming it's necessary for everybody.
Efficiency reasons. I don't have to take the time to start an IDE and wait for it to actually parse the source code (since an IDE is able to know what a struct is, a function, a class, etc, it has to include a C parser, or at least a subset of one). If all I want is to find the definition of a function, grep is faster for me. This happens in code I'm not frequently in touch with. I generally keep a tags file around in my projects.Why do you keep saying "well you have to load it into your IDE to know!" - What do you think grep is doing? It's loading each file to find out what you asked it to find. It's no different than loading them and having your IDE find them for you.
Using grep in these circumstances fits my workflow better. Formatting source files like this has minimal cost (no size difference on Unix systems, so the only difference is vertical space) and there is a gain in a specific area for me. Once more: if you do things a different way, it doesn't matter to me; nowhere have I tried to convince anybody to switch to this method. Since you claim to know the reason why source is formatted this way, I'm not sure what the issue is, unless you're attempting to tell me I shouldn't like source that's formatted in this particular style.