69,382
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
unsigned long m_empty;
unsigned long m_id;
unsigned char m_value[16];
}test;
int main()
{
test *p1;
test *p2;
int rc;
int i;
p1 = (test*)malloc(sizeof(test));
p2 = (test*)malloc(sizeof(test));
p1->m_empty = p2->m_empty = 1;
p2->m_id = p2->m_id = 100;
for(i =0;i<16;i++)
{
p1->m_value[i] = p2->m_value[i] = 0;
}
printf("size:%d\n\n",sizeof(test));
printf("m_empty:%d %d\n",p1->m_empty,p2->m_empty);
printf("m_id:%d %d\n\n",p1->m_id,p2->m_id);
for(i = 0;i < sizeof(test); i++)
{
printf("%d %d\n",*((unsigned char*)p1+i),*((unsigned char*)p2+1));
}
rc = strncmp((unsigned char*)p1, (unsigned char*)p2, sizeof(test));
printf("rc = %d\n", rc);
free(p1);
free(p2);
return 0;
}