Para complementar la excelente respuesta de Loretz, los nombres de las funciones funcionan como punteros inicializados y cuyo contenido es la direccion de memoria de esa funcion, por lo que el uso del & es opcional.
asd.pfun = &sumar;
// tambien puede escribirse sin &
asd.pfun = sumar;