#include
#include
#include
#include
#include
#include
#include
#include
typedef struct tagNode
{
size_t len;
int key[0];
}Node;
int main(int argc, char* argv[])
{
Node *node = NULL;
node = (Node*)malloc(sizeof(Node) + 10*sizeof(int));
bzero(node, sizeof(Node) + sizeof(int)*10);
printf("before malloc:%d\n", sizeof(node));
node->len = 10;
memset(node->key, 15, sizeof(int)*node->len);
printf("after malloc:%d\n", sizeof(node));
int i = 0;
for(i = 0; i < node->len; ++i)
{
printf("\nnode.key[%d]=%d\n", i, node->key[i]);
int j = 0;
char* pTmp = (char*)&(node->key[i]);
for(;j < 4; ++j)
{
printf("%d\t", *pTmp++);
}
}
free(node);
putchar('\n');
return 0;
}
执行结果