读书人

这种内存清零方法安全不?解决方案

发布时间: 2012-04-11 17:42:33 作者: rapoo

这种内存清零方法安全不?
比如:

C/C++ code
typedef struct{  int a;  char b;  flag c;  other_struct_type d[200];}example_type;example_type example;unsigned char* p = (unsigned char*)&example;for(i = 0; i < sizeof(example); i++)  {    *p=0;    p++;  }


当没有内存对齐之类的问题时,肯定没问题;但当牵涉到内存对齐啊啥的,这种方法还100%安全吗?
结构体地址范围内可能有一些空白,对那些空白清零不知道有没有什么危险?

[解决办法]
直接memset
[解决办法]
为啥不用memset?
[解决办法]
当没有内存对齐之类的问题时,肯定没问题;但当牵涉到内存对齐啊啥的,这种方法也100%安全
但是用memset比这样方便,速度应该快些,因为memset是库提供的方法
[解决办法]
没什么问题,中间的空白内存也是作为已分配内存,不会有冲突的
[解决办法]
没什么问题,不过可以直接用memset,更方便

读书人网 >C语言

热点推荐