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

//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");


}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值