结构体里面要不要定义指针

本文探讨了GIFlib库中内存管理的问题,特别是指针偏移和delete操作导致的错误,并提供了一种手动分配内存的方法来避免这些问题。此外,还介绍了简单的调试技巧。

giflib里面定义了很多结构体  每个结构体对应一种描述

结构体里面用了很多指针 存储GIF文件的各类数据

在使用的过程中常常致使指针偏移 delete 出错。

朋友建议我这样做:

 代码实现

struct item
{
    int s;
    int b;
};
struct sss
{
    int nCount;
    item it[1];
};

sss *p = (sss*)malloc(sizeof(int) + sizeof(item)*9999);
p->nCount = 100;
p->it[0];
p->it[1];

在调试过程中:

 头文件定义:

#if (defined DEBUG || defined _DEBUG)
#define MYTRACE printf("debug to here!")
#else
#define MYTRACE

程序中可以使用:

 MYTRACE

这样调试的时候 运行到MYTRCE就会打印 debug to here!

或者 使用

 MessageBox( 0"显示提示信息""标题", MB_ICON);

 

转载于:https://www.cnblogs.com/zzugyl/archive/2012/12/12/2814188.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值