当前位置: 首页 > article >正文

【C++ Primer Plus习题】9.3

问题:

这里是引用
在这里插入图片描述

解答:

#include <iostream>
using namespace std;

struct chaff
{
	char dross[20];
	int slag;
};

int set_chaff(chaff& f, char* c, int n)
{
	if (strlen(c) > 0)
	{
		strcpy_s(f.dross, c);
		f.slag = n;
		return 1;
	}
	return 0;
	
}

void show_cahff(const chaff& f)
{
	cout << "dross: " << f.dross << endl;
	cout << "slag: " << f.slag << endl;
}

int main()
{
	char buffer[1024];//缓冲区
	char st[20];
	int slag, n = 0;
	chaff* pcf = new (buffer)chaff[2];//在缓冲区中构造
	cout << "请输入dross: ";
	cin.getline(st, 20);
	cout << "请输入slag: ";
	cin >> slag;
	while (strlen(st)>0)
	{
		cin.get();
		set_chaff(pcf[n++], st, slag);
		if (n >= 2)break;
		cout << "请输入dross: ";
		cin.getline(st, 20);
		cout << "请输入slag: ";
		cin >> slag;
	}
	for (int i = 0; i < 2; i++)
	{
		show_cahff(pcf[i]);
	}
	
	return 0;
}

运行结果:
在这里插入图片描述

考查点:

  • 缓冲区

注意:

  • 静态缓冲区分配好,就不需要delete了
    在这里插入图片描述
  • 动态缓冲区(内存),就需要使用delete
    在这里插入图片描述
  • 缓冲区的使用
    在这里插入图片描述
  • 区别
    在这里插入图片描述

在这里插入图片描述

2024年9月2日20:20:52


http://www.kler.cn/news/291840.html

相关文章:

  • C# 删除Word文档中的段落
  • Golang 内存泄漏详解:原因、检测与修复
  • 【论文阅读】LLM4CP: Adapting Large Language Models for Channel Prediction(2024)
  • 啄木鸟上门安装维修系统源码开发
  • 【个人笔记】VCS工具与命令
  • 钢铁百科:Q420DR力学性能、Q420DR执行标准、Q420DR低温容器钢板
  • 自己设计的QT系统,留个档
  • Docker 容器编排之 Docker Compose
  • Arcgis将图层转shape文件
  • 【大数据】DataX深度解析:数据同步的神器是如何工作的?
  • Android Gradle 插件的说明
  • AI生成图片,ChatGPT生成路虎女逆行打人插图。
  • 语音测试(一)ffmpeg视频转音频
  • 【2024高教社杯全国大学生数学建模竞赛】B题 生产过程中的决策问题——解题思路 代码 论文
  • 浅谈C# 虚函数
  • halcon+c#+abb机器人=激光熔覆视觉工作站
  • ActiViz中的粒子系统详细解析
  • 基于SpringBoot+Vue+MySQL的社区维修平台
  • 揭秘美国大健康电商:为何Newsbreak广告成为其市场破局利器?
  • Qt QT中QString 类的使用--获取指定字符位置、截取子字符串等
  • 鸿蒙(API 12 Beta3版)图形【AR Engine简介】 AR引擎服务
  • javascript数据结构与算法-- 二叉树
  • 【学习笔记】5G-A时代物联网应用及策略研究
  • Linux字符设备驱动
  • webpack基本使用(基础配置)
  • 监控平台之nodejs模拟后端接口
  • nginx中如何设置gzip
  • ComsolMatlab 两级串联扩张式消声器仿真解与解析解
  • Kafka【十】副本(follower)从领导者(leader)同步数据的流程
  • 基于Spring的消息推送实战(Websocket和前端轮询实现)