//9.3这道题比较少见,我之前在百度都找不到我就发题目上来吧
/*
下面是一个结构声明:
struct chaff{
char dross[20];
int slag;
}
编写一个程序,使用定位new运算符将一个包含两个这种结构的数组放在一个缓冲区内。然后,给结构的成员赋值(对于char数组,使用strcpy()),
并使用一个循环来显示内容,一种方法是像程序清单9.10那样将一个静态数组用作缓冲区,另一种方法是使用常规的new运算符来分配缓冲区。
*/
#include
#include
#include
using namespace std;
struct chaff{
char dross[20];
int slag;
};
const int Size=512;
const int ASize=2;
char BUF[Size];
void main93()
{
chaff *p;
p=new (BUF)chaff[ASize];//创建结构数组
for(int i=0;i<ASize;i++)
{
strcpy(p[i].dross,”II”);
p[i].slag=i;
}
//cout<<”size of p is “<<strlen(p)<<endl;
for(int i=0;i<ASize;i++)
{
cout<<”p[“<<i<<”] adreess is”<<&p[i]<<” and valus is”<<p[i].dross<<endl;
cout<<p[i].slag<<endl;
}
system(“pause”);
}
—————————————————————————————————————————————————— //写的错误或者不好的地方请多多指导,可以在下面留言或者给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。 转载请注明出处:https://www.royalchen.com/ author:royalchen Email:royalchen@royalchen.com ———————————————————————————————————————————————————
- 本文作者: royalchen
- 本文链接: http://www.royalchen.com/2016/02/24/cprimerplus第六版课后编程题答案93/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!