Take the following snippet:
1 #include <stdio.h>
2 #include <stdlib.h>
3 int foo(char [6]);
4
5 int main(void) {
6 char* bar="hello";
7 return foo(bar);
8 }
9
10 int foo(char f[6]) {
11 return EXIT_SUCCESS;
12 }
13
What is the right technical term for "char [6]" on line 3? I call it "type and size specifier" which merely describes what its used for by the compiler.
The entire line 3 I use to call "call stack signature of the function" or simply "function signature". "function declaration" or "function prototype" would also be correct, as opposed to "function implementation".
Note: You don't need to explain me everything about call stacks, frames, calling conventions et. al. I'm only looking for the right terminology there. NOT the entire line 3, only how to call one single specifier, like "char [6]".