具有结构参数的C函数原型
我想为函数编写函数原型,其参数是指向结构的指针。
int mult(struct Numbers *n)
但是,struct Numbers,定义为
struct Numbers { int a; int b; int c; };
尚未定义。 我应该如何为mult编写合适的原型?
在函数声明之前,只需将struct Numbers
声明为不完整类型:
struct Numbers; int mult(struct Numbers *n);
您必须转发结构声明以告诉编译器将定义具有该名称的结构:
struct Numbers; int mult(struct Numbers *n) { } struct Numbers { int a; int b; int c; };
请注意,编译器无法确定结构的内存大小,因此您无法按值传递它。