Question: what is the difference between declaration and definition of a function?
Answer: In other words a function declaration declares the name of the function and the return type. You must declare an identifier before you can use it. A Function prototype is a declaration of a function that declares the types of the function's parameters and defines them. A Function definition defines the function itself.