函数中参数为结构体数据时,有两种处理方式:
1.传递结构体指针。
void sum(struct mystruct *node);
在sum函数中有可能会改变所传递的结构体的数据,可以添加 const 限定。
void sum(const struct mystruct *node);
2.传递结构体副本。
void sum(struct mystruct node);
在sum函数中创建所传递的结构体的副本,即将结构体的数据成员完全赋值给node.
优缺点:
1.指针传递速度快,效率高,消耗存储空间小,但是无法保护数据不被修改,可以添加const 参数进行限制.
2.副本传递,效率较低,消耗存储空间大,可以保护数据不被修改,适合于数据成员少而简单的结构体。
1.传递结构体指针。
void sum(struct mystruct *node);
在sum函数中有可能会改变所传递的结构体的数据,可以添加 const 限定。
void sum(const struct mystruct *node);
2.传递结构体副本。
void sum(struct mystruct node);
在sum函数中创建所传递的结构体的副本,即将结构体的数据成员完全赋值给node.
优缺点:
1.指针传递速度快,效率高,消耗存储空间小,但是无法保护数据不被修改,可以添加const 参数进行限制.
2.副本传递,效率较低,消耗存储空间大,可以保护数据不被修改,适合于数据成员少而简单的结构体。