Tu pregunta es un tanto genérica, por ejemplo no sé si te refieres a C o a C++.
Los arrays se crear especificando el tipo de datos, el nombre de la variable y entre corchetes el tamaño del mismo:
Ej:
int contador[444];
o
char cualquiercosa[3333];
los punteros se especifican agregando un asterisco entre el tipo de variable y el nombre de la misma:
int * pContador;
Para asignar memoria al mismo (en C++):
pContador = new int [3333];
para desasignar:
delete [] pContador;
Para abrir, leer y escribir archivos se utilizan las siguiente funciones:
fopen, fread y fwrite.
Si necesitas mas información puede entrar en AccesoBinario (http://accesobinario.neptra.com) donde se irán publicando algunos libros de C++ en los próximos días (gratis).
Saludos.
Diego G. Ruiz