Why am I able to pass pointers of the wrong type into C functions,
without getting either a compiler error or a warning?
//given 2 distinct types
struct Foo{ int a,b,c; };
struct Bar{ float x,y,z; };
//and a function that takes each type by pointer
void function(struct Foo* x, struct Bar* y){}
int main() {
struct Foo x;
struct Bar y;
//why am I able to pass both parameters in the wrong order,
//and still get a successful compile without any warning messages.
function(&y,&x);
//compiles without warnings.
//potentially segfaults based on the implementation of the function
}