Answer:
specifies the function's name and type signature, but omits the function implementation.
Explanation:
I will answer the question with the following illustration in C++:
double func(int a);
The above is a function prototype, and it contains the following:
double -> The function type
func -> The function name
int a -> The signature which in this case, is the parameter being passed to the function
Notice that the above does not include the function body or the implementation.
Hence, (a) is correct