| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3128 人关注过本帖
标题:编写一个程序,使用定位new运算符将一个包含两个这种的结构 的数组放在一个 ...
取消只看楼主 加入收藏
C00000001
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-5-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
编写一个程序,使用定位new运算符将一个包含两个这种的结构 的数组放在一个缓冲区中,然后给成员赋值,并使用循环查看内容
使用结构声明
    struct chaff
    {
        char dross[20];
        int slag;
    };
编写一个程序,使用定位new运算符将一个包含两个这种的结构
的数组放在一个缓冲区中,然后给成员赋值,并使用循环查看内容
头文件golf.h
namespace golf
{
    struct chaff
    {
        char dross[20];
        int slag;
    };
    typedef struct chaff Str_Cha;
    typedef Str_Cha* Str_Cha_pointer;
    void show(Str_Cha_pointer* pd, int n);
}
源代码1
#include<iostream>
#include"golf.h"
namespace golf
{
    void show(Str_Cha_pointer* pd,int n)
    {
        for (int i = 0; i < n; i++)
        {
            std::cout << "Dross: " << pd[i]->dross << std::endl;
            std::cout << "Slag: " << pd[i]->slag << std::endl;
        }
    }
}
源代码2
#include<iostream>
#include"golf.h"
#include<new>
int main()
{
    using namespace std;
    char buffer[500];
    golf::Str_Cha* pd = new (buffer)golf::Str_Cha[2];
    int i = 0;
    do
    {
        std::cout << "Enter the dross:";
        std::cin.getline(pd[i].dross, 20);
        std::cout << "Enter the slag:";
        std::cin >> pd[i].slag;
        std::cin.get();
        i++;
    } while (pd[i-1].dross[0]!='\0'&& i < 2);
    golf::show(&pd,2);
    delete[]pd;
    return 0;
}
执行出错了
搜索更多相关主题的帖子: std int 结构 include new 
2021-05-20 14:50
C00000001
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-5-8
收藏
得分:0 
golf::show(&pd,2);
这里是不是这指针出错了
2021-05-20 14:53
C00000001
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-5-8
收藏
得分:0 
回复 4楼 rjsp
new分配内存
struct inf *pd=new struct [10]
的地址是不是pd?
2021-05-20 18:40
快速回复:编写一个程序,使用定位new运算符将一个包含两个这种的结构 的数组放在 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.086203 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved