Sorry, by this code example: char *p = (char *)&vb32; int i; for (i = 0; i < sizeof(struct vb32); i++, p++) printk("*(p + i): %d", *(p + i)); actually I meant: char *p = (char *)&vb32; int i; for (i = 0; i < sizeof(struct vb32); i++) printk("*(p + i): %d", *(p + i)); But the idea is the same. Thank you, Peilin Ye