ok, tratare de explicarte brevemente, aunque te recomiendo k leas lago de estructuras, y lectura de archivos relativos en C++.
ptr_reg es un puntero el cual se va asignar la primera posicion de un vector. Se declara al principio por dos situaciones la primera por sintaxis, acostumbrate a declarar todas o casi todas las variables que vayas a utilizar al inicio de una funcion(si main tambien es una funcion). y otra es por que no la puedes declarar dentro del {} que corresponde al
else. ya que este apuntador solo puede ser utilizado dentro de los parentesis. puedes leer algo acerca del acance de las variable(
http://www.modelo.edu.mx/univ/virtec...rac/cplus2.htm leete esto )
El por que es el primer parametro que se pasa en esta función. deberías de buscar en internet o en alguna otra fuente el uso de esta función.
El por utilizas pt_reg, cuando llamas a la funcion fread, los registos se almacenan en el vector al que aputnte este puntero.