I am programming in C.
I prefer to use function prototypes for my static functions in my *.c files. And I always declare them at the top of my code.
However, another worker who has a lot of experience in C/C++. Seems to think that they are a waste of time. However without them you have to order you functions correctly as you could call one that is not defined further down the file.
I think function prototypes are clearer as the person reading your code can see at the start of that file all the static functions that you are using. All other ones will be in the header file. Also you have the flexibility to present the functions in the order that you want to define them in.
Many thanks your input,