一般来说,根据 C 标准,是否保证 memset() 为 0 会将 C 结构中的填充位清零?
gcc 呢?
例如,像这样的东西:
struct MyStruct
{
unsigned char member1;
unsigned int member2;
char member3;
unsigned char member4;
float member5;
};
struct MyStruct ms;
memset(&ms, 0, sizeof( struct MyStruct));
最佳答案
也许值得注意的是,memset
对您的结构(或数组、原语或任何您碰巧释放它的内存块)一无所知,所以即使它想要为了保持填充位完好无损,它甚至不知道它们在哪里。
关于c - 是否保证 memset 会将结构中的填充位清零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8549809/