構造体はサイズが大きいのでポインタで渡すのが一般的との由。
#include <iostream> #include <string> using namespace std; // 構造体を宣言する。 struct qb { string Name; int Att; int Comp; int Yds; int Td; int Int; double Rate; }; void sute(const qb *str){ // 構造体をポインタ渡しで受け取って何かをする。 cout << str->Name << endl; // 要素(構造体のポインタのメンバー)を読み出すときはアロー演算子(->)を使う。 } void sute(const qb str){ // 構造体を値渡しで受け取って何かをする。★★函数名が同じでも引数が異なるので共存が許容される。★★ cout << str.Att << endl; // 要素(構造体のメンバー)を読み出すときはドットを使う。 } int main(){ // 構造体をデータ型とした排列を作る。 qb QBs[] = {{"Rodgers, Aaron" , 30, 21, 332, 2, 0, 0}, {"Wilson, Russell", 31, 21, 225, 2, 0, 0}, {"Newton, Cam" , 37, 25, 357, 3, 1, 0}}; sute(&QBs[0]); // 構造体をポインタ渡しで函数に渡して何かをする。 sute(QBs[1]); // 構造体を値渡しで函数に渡して何かをする。 system("pause"); return 0; }