以下函數將結構寫入文件。將結構和類寫入磁盤
#define PAGESIZE sizeof(BTPAGE)
#define HEADERSIZE 2L
int btwrite(short rrn, BTPAGE *page_ptr)
{
long addr;
addr = (long) rrn * (long) PAGESIZE + HEADERSIZE;
lseek(btfd, addr, 0);
return (write(btfd, page_ptr, PAGESIZE));
}
以下是結構。
typedef struct {
short keycount; /* number of keys in page */
int key[MAXKEYS]; /* the actual keys */
int value[MAXKEYS]; /* the actual values */
short child[MAXKEYS+1]; /* ptrs to rrns of descendants */
} BTPAGE;
如果我將結構更改爲類,會發生什麼情況會發生什麼?
如果我添加了類函數,它在磁盤上佔用的大小會增加嗎?
關於嚴格別名,允許將任何POD類型的對象視爲字節數組。任何類型的對象都可以通過char *來訪問,並且將組成POD類型對象的字節複製到一個char數組中,然後將這些字節複製回相同POD類型的對象中。 (當然,關於不可移植性的觀點仍然有效)。 – 2010-05-22 20:12:59