When the C/C++ DLL Adapter parses the parameter list in the source code, it must interpret the parameter declarations. Each parameter must have a numeric, array, or object type, and the return value must have a numeric or void type. Some C parameter declarations can be ambiguous, as described in the following table. For example, char * and char [] can each represent either a NULL-terminated string or a fixed-size character array.

C Data Type in Parameter Declaration in Source Code Parameter Information on Module Tab
char * Type:C String
char [] Type: C String Buffer Number of Elements: -1
char [nnn], where nnn is a numeric literal Type: C String Buffer Number of Elements: nnn
wchar_t * Type: Unicode String
wchar_t [] Type: Unicode String Buffer Number of Elements: -1
wchar_t [nnn], where nnn is a numeric literal Type: Unicode String Buffer Number of Elements: nnn
int * Type: Signed 32-bit integer Pass: Pointer to value
int [] Type: Array Data Type: Signed 32-bit integer Number of Elements: -1
int [nnn], where nnn is a numeric literal Type: Array Data Type: Signed 32-bit integer Number of Elements: nnn
Note   The C/C++ DLL Adapter handles the other numeric types in the same way it handles the signed 32-bit integers.