Prototipo de función C con argumento estricto

Quiero escribir un prototipo de función para una función, cuyo argumento es un puntero a una estructura.

int mult(struct Numbers *n) 

Sin embargo, los números de estructura, que se definen como

 struct Numbers { int a; int b; int c; }; 

Aún no está definido. ¿Cómo debo escribir un prototipo adecuado para mult?

Simplemente declare los struct Numbers como un tipo incompleto antes de su statement de función:

 struct Numbers; int mult(struct Numbers *n); 

Debe reenviar la statement de la estructura para indicar al comstackdor que se definirá una estructura con ese nombre:

 struct Numbers; int mult(struct Numbers *n) { } struct Numbers { int a; int b; int c; }; 

Tenga en cuenta que el comstackdor no puede determinar el tamaño en la memoria de la estructura, por lo que no puede pasarlo por valor.