这是一个满足这些需求的结构体描述:
struct Product // structure declaration { char name[20]; float volume; double price; };
关键字struct表示代码定义了一个结构体的布局。
标识符Product是此表单的名称或标签。
这使Product为新类型的名称。
#include <iostream>
struct Product // structure declaration
{
char name[20];
float volume;
double price;
};
int main()
{
using namespace std;
Product guest =
{
"C++", // name value
1.8, // volume value
29.9 // price value
};
Product pal =
{
"Java",
3.1,
32.9
}; // pal is a second variable of type Product
cout << "Expand your guest list with " << guest.name;
cout << " and " << pal.name << "!n";
cout << "You can have both for $";
cout << guest.price + pal.price << "!n";
return 0;
}
上面的代码生成以下结果。
以下代码显示了如何分配结构体。
#include <iostream>
using namespace std;
struct Product
{
char name[20];
float volume;
double price;
};
int main()
{
Product bouquet = { "C++", 0.20, 12.49 };
Product choice;
cout << "bouquet: " << bouquet.name << " for $";
cout << bouquet.price << endl;
choice = bouquet; // assign one structure to another
cout << "choice: " << choice.name << " for $";
cout << choice.price << endl;
return 0;
}
上面的代码生成以下结果。
可以创建其元素是结构体的数组。
例如,要创建一个100个产品结构体的数组,您可以执行以下操作:
Product gifts[100]; // array of 100 Product structures cin >> gifts[0].volume; // use volume member of first struct cout << gifts[99].price << endl; // display price member of last struct
要初始化一个结构体数组,您将将数组初始化的规则与结构体规则相结合。
因为数组的每个元素都是一个结构体,它的值由结构体初始化表示。
Product guests[2] = // initializing an array of structs { {"A", 0.5, 21.99}, // first structure in array {"B", 2000, 565.99} // next structure in array };
以下代码显示了一个使用结构体数组的简短示例。
#include <iostream>
using namespace std;
struct Product
{
char name[20];
float volume;
double price;
};
int main()
{
Product guests[2] = // initializing an array of structs
{
{"A", 0.5, 21.99}, // first structure in array
{"B", 2, 5.99} // next structure in array
};
cout << "The guests " << guests[0].name << " and " << guests[1].name
<< "nhave a combined volume of "
<< guests[0].volume + guests[1].volume << " cubic feet.n";
return 0;
}
上面的代码生成以下结果。
学习C++-C++构造函数类构造函数是类中的一种特殊类型的函数。当定义类的新实例时调用构造函数。它在创建新对象时初始化,并确保...
学习C++-C++ while循环while循环是初始化和更新部分的for循环;它只是一个测试条件和主体:while (test-condition)body 如果表达...
C++ 指针 vs 数组 C++ 指针指针和数组是密切相关的。事实上,指针和数组在很多情况下是可以互换的。例如,一个指向数组开头的指...
C++ 关系运算符重载 C++ 重载运算符和重载函数C++ 语言支持各种关系运算符(、、 = 、 = 、 == 等等),它们可用于比较 C++ 内置...