c++调用dll带字符数组函数是怎么声明的

c++调用dll带字符数组函数是如何声明的
dll中已知以下函数声明:
int Init(char aServer[30], int aPort);

我在vc中是这样调用的:
typedef int (*DLLInit)(char aServer[30], int aPort);

hDllAuto = LoadLibrary("DLL.dll");
if (hDllAuto == NULL)
return;

DLLInit Init = (DLLInit)GetProcAddress(hDllAuto, "Init");
if (Init == NULL) return;

Init("www.baidu.com", 80);
FreeLibrary(hDllAuto);

其中的运行Init("www.baidu.com", 80);这句时导致整个软件卡死,哪位大侠告诉以下怎么办啊?

------解决方案--------------------
声明写成这样:
typedef int (*DLLInit)(char *aServer,int aPort);

调用时要自己分配内存给aServer指针之后才能调用。

------解决方案--------------------
C/C++ code
int WINAPI Init(char aServer[30], int aPort);