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.