//9.3这道题比较少见,我之前在百度都找不到我就发题目上来吧 /* 下面是一个结构声明: struct chaff{ char dross[20]; int slag; } 编写一个程序,使用定位new运算符将一个包含两个这种结构的数组放在一个缓冲区内。然后,给结构的成员赋值(对于char数组,使用strcpy()), 并使用一个循环来显示内容,一种方法是像程序清单9.10那样将一个静态数组用作缓冲区,另一种方法是使用常规的new运算符来分配缓冲区。 */ #include<iostream> #include <cctype> #include <string> 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"); }