// 第3题.cpp : 定义控制台应用程序的入口点。
//
/*下面是一个结构声明:
struct chaff
{
char dross[20];
int slag;
};
编写一个程序,使用定位new运算符将一个包含两个这种结构的数组放在一个缓冲区中。
然后,给结构的成员赋值(对于char数组,使用函数strcpy()),并使用一个循环来显示内容。
一种方法是像程序清单9.10 那样将一个静态数组用作缓冲区;另一种方法是使用常规new运算符来分配缓冲区。
*/
#include "stdafx.h"
struct chaff
{
char dross[20];
int slag;
};
using namespace std;
int main()
{
char buffer[512];
cout << "buffer的地址为:\t" <<(void*)buffer << endl;
chaff *p1 = new (buffer)chaff[2];
cout << "P1的地址为:\t" << p1 << endl;
strcpy_s(p1[0].dross, "aaaa");
p1[0].slag = 1;
strcpy_s(p1[1].dross, "bbbb");
p1[1].slag = 2;
for (int i = 0; i < 2; i++)
{
cout << "p1[" << i << "]at" << &p1[i] << endl;
cout << "dross:" << p1[i].dross << endl;
cout << "slag:" << p1[i].slag << endl;
}
system("pause");
return 0;
}
C++ primer Plus(第六版)中文版第九章第3题
最新推荐文章于 2025-05-26 11:46:14 发布