编译连接都没有关问题,但是运行到一半强制结束了运行,为什么啊

编译连接都没问题,但是运行到一半强制结束了运行,为什么啊?[解决办法]typedef struct sqstring{char *ch/

编译连接都没问题,但是运行到一半强制结束了运行,为什么啊?

编译连接都没有关问题,但是运行到一半强制结束了运行,为什么啊
[解决办法]
typedef struct sqstring
{
    char *ch;//没有分配空间吧
    int length;
}HString;

void StrAssign(HString &str, char ch[])
{
    int i=0;
    while(ch[i]!=0)i++;
    str.ch=new char[i+1];
    for(i = 0; ch[i] != '\0'; i++)
    {
        str.ch[i] = ch[i];
    }
    str.ch[i]=0;
    str.length = i+1;
}