作者:渊博的效力 | 来源:互联网 | 2017-07-02 18:26
下面的代码编译运行后输出的结果是什么? same.还是diff. 呢?答案就不在帖子里写出来了,大家最好运行试试,如果发现结果和之前自己的推断不一致最好加几个断点看看内存里到底发生了什么。。。
#include
#include
#include
/*在32位的机器上*/
typedef struct
{
char cCr;
long lVal;
} TDATA_S;
int main()
{
TDATA_S stDat1, stDat2;
memset(&stDat1, 0, sizeof(TDATA_S));
stDat2.cCr = 0;
stDat2.lVal = 0;
if (memcmp(&stDat1, &stDat2, sizeof(TDATA_S)) == 0)
{
printf("same.\n");
}
else
{
printf("diff.\n");
}
return 0;
}