Bootstrap

c语言结构体作为形参是否加struct_结构体类型数据作为函数参数(三种方法)

将一个结构体中变量中的数据传递给另一个函数,有以下三种方法。需要的朋友可以过来参考下,希望对大家有所帮助

(1)用结构体变量名作为参数。

#include

#include

using namespace std;

struct Student{

string name;

int score;

};

int main(){

Student one;

void Print(Student one);

one.name="千手";

one.score=99;

Print(one);

cout<

cout<

return 0;

}

void Print(Student one){

cout<

cout<

}

88cb1aff6fb3013d1432454175e87cb7.png

这种方式值采取的“值传递”的方式,将结构体变量所占的内存单元的内存全部顺序传递给形参。在函数调用期间形参也要占用内存单元。这种传递方式在空间和实践上开销较大,如果结构体的规模很大时,开销是很客观的。

并且,由于采用值传递的方式,如果在函数被执行期间改变了形参的值,该值不能反映到主调函数中的对应的实参,这往往不能满足使用要求。因此一般较少使用

;