C++:new结构体释放问题

假设有如下几个文件main.c,IRSend.c, IRSend.h
在IRSend.h中定义如下:
typedef struct {
int recvpin;

int rcvstate;
int timer;
} irparams_t;
extern volatile irparams_t *irparams;

在IRSend.c中定义如下:
#include "IRSend.h"
volatile irparams_t *irparams=new volatile irparams_t;
void a()
{
irparams->recvpin=1;
}
void b()
{
irparams->rcvstate=2;
}
void c()
{
irparams->timer=2;
}

在main.c中定义如下:
#include "IRSend.h"
void main()
{
a();
b();
c();
}

请问应在哪个地方delete irparams。

头文件里面一般放什么: 主要是类的定义,以及对象或者函数的声明。 而你的函数实现体应该放在源文件里面,包括你的new语句,然后在源文件
里面new跟delete就可以了...你的这种编程思路有问题

全局变量,其实释放不释放都一样。非要写,可以写在main函数最后

在何处new就在何处delete

当你不需要的时候就delete

编程是一门艺术, 如果你是想用这个例子考考别人而说明你很有心, 否则你还没有真正的入门...