/* * Duas abordagens para preencher um segmento de dados. */ #include #include #include #include #include #include #define PAGESIZE 4096 #define N 3000 char mat[N][PAGESIZE]; void preenche_rapido(char c) { int i, j; printf("Inicio preenche rápido.\n"); for (i = 0; i < N; i++) for (j = 0; j < PAGESIZE; j++) mat[i][j] = c; printf("Fim preenche rápido.\n"); } void preenche_lento(char c) { int i,j; printf("Inicio preenche lento.\n"); for (j = 0; j < PAGESIZE; j++) for (i = 0; i < N; i++) mat[i][j] = c; printf("Fim preenche lento.\n"); } int main() { char *topo = sbrk(0); printf("Topo da area de dados = %p\n", topo); preenche_rapido('*'); preenche_lento('-'); return 0; }