Home

Anatomy of a C Function Prototype — void greet(const char *name)

In C, this line of code is a function prototype (also called a function declaration). It tells the compiler about a function that will be defined later in your code or in a different file.

Here is a breakdown of each component:


1. void (Return Type)

The void keyword indicates that this function does not return a value. When you call greet(), it performs an action (like printing to the screen) but doesn’t hand back a piece of data (like an integer or a character) to the part of the program that called it.

2. greet (Function Name)

This is the identifier you use to call the function elsewhere in your code.

3. (const char *name) (Parameters)

This part defines what data the function expects to receive:


Why use a prototype?

If you try to call a function in main() before the function’s actual code is written, the C compiler won’t know what greet is or what arguments it needs. The prototype acts as a “heads-up” so the compiler can verify you are using the function correctly.


Example Usage

Here is a simple Python script to illustrate that point by showing how the C code would look in practice:

#include <stdio.h>

// The prototype (the line you asked about)
void greet(const char *name);

int main() {
    // Calling the function
    greet("Alice");
    return 0;
}

// The actual definition (the body)
void greet(const char *name) {
    // name is read-only because of 'const'
    printf("Hello, %s!\n", name);
}
Tags: CProgramming-ConceptsLow-LevelCoding