If you want to return a char array from a function, you should declare the function as returning char* not char. But you seem intent on returning the contents of a char array, rather than the pointer that the C language pretends is the same type as the array. C just doesn't let you do that with arrays.
[SOLVED] C - returning char array pointer - LinuxQuestions.org
www.linuxquestions.org > questions > programming-9 > c-returning-char-a...
Functions cannot return C-style arrays. They can only modify them by reference or through pointers.
Pass and return a char array. - C++ Forum - Cplusplus.com
www.cplusplus.com > Forum > Beginners
That said, what you really want is to declare makePointerCopy() to return a "pointer to a pointer to char": because, in the end, you will return the pointer to the first element of the return array. Another important point: you declared you "cOut" as local variable to a function.
Returning an array of char pointers - Stack Overflow
stackoverflow.com > questions > returning-an-array-of-char-pointers
The CHAR function accepts a decimal integer and returns the character identified by that number converted to ASCII or EBCDIC, depending on the operating environment. The output is returned as variable length alphanumeric. If the number is above the range of valid characters, a null value is returned.
CHAR: Returning a Character Based on a Numeric Code
webfocusinfocenter.informationbuilders.com > TLs > TL_lang > source > c...