您的位置:首页 > 编程语言 > C语言/C++

C++primer plus第六版课后编程题答案9.3

2014-04-13 12:28 495 查看
//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");}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息