Yours say that word fun_createA is a typename. The type represents any function that takes no arguments and returns a pointer to type A object.
For example, these functions have that type:
1 2
A * foo();
A * bar();
Have you ever seen something like int * gaz; ?
The gaz is the name of a variable. The variable stores a pointer to an integer.
In your case: fun_createA * gaz;
The gaz is the name of a variable. The variable stores a pointer to a "function that takes no arguments and returns a pointer to type A object".
In your case: A * gaz;
The gaz is the name of a variable. The variable stores a pointer to a type A object.