Gcc function call semantics for mismatch signature in caller / callle

I discovered something strange in gcc and hope to get some input, whether it's a feature or a quirk.
 Essentially, I have a function defined in func.c as

void f(int a, int b, FILE* f)  
{  
   ...  
   ...  
} 

There is no corresponding header file. But does gcc give no warning when I call f (a, b) and gdb shows me that f is called with three parameters? Why is this so ?. What is semantics for filling in the third argument.

+3
source share
1 answer

f() , , f() int .

, , , , , , , , .

+4

Source: https://habr.com/ru/post/1773687/


All Articles