. , . , , .
, struct. , / .
, char *, . malloc() 'd calloc()' d , . , , , , , , ... C .
"" . :
typedef char *page_ptr;
int page_size = discover_page_size();
int max_page_count = discover_max_page_count();
int pages_stored = 0;
page_ptr *page_pointers = calloc(max_page_count, sizeof(page_ptr));
char *pages = calloc(max_page_count * page_size, sizeof(char));
page_pointers[0] = pages;
int i;
for (i=1; i<max_page_count; i++) {
page_pointers[i] = page_pointers[i-1] + page_size;
}
page_pointers , ,
read(filedesc, page_pointers[page_count++], page_size);
memmove(page_pointers[69], page_pointers[42], page_size);
(, ), . ?:)