1、使用柔性数组可使大量定义的结构体在内存中的处理更加简捷(之前竟然不会,看来读的代码实在是太少了),如自定义的一个文件名称的结构体:
typedef struct strFileName{
UCHAR line_num;//动态中保留
UCHAR lenByByte;//文件名长度,字节长度,不解释字符集
UCHAR type;
UCHAR page_code;
char  name[0];};

使用char name[0],可以在得到名称长度后,一次性将空间申请好,免去再指针一次的麻烦。
2、使用数组方式调用内存流的方法,如定义一个结构体:
typedef struct strFileName{
UCHAR line_num;//动态中保留
UCHAR lenByByte;//文件名长度,字节长度,不解释字符集
UCHAR type;
UCHAR page_code;};

如果再 strFileName* pA=new strFileName [100];
可以直接使用pA[0]指第一个结构体,pA[1]指第二个结构体(以前笨笨的老是用强制转换实现,汗。。)
3、关于函数指针(个人看法):
.h文件似乎就是定义了一个函数指针,实例化后,会把实例化后的函数地址,写在函数指针里,所以在定义函数指针时,一定要定义前已经对目标实例化。
多个源文件的编译过程也可以理解了,不包含.h,就无法找到具体实现函数的入口,其实包含了也不会影响太大性能。

Posted on 2011-07-31 17:43 张宇 阅读(437) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理