#include <stdio.h>
#include <stdlib.h>
typedef struct {
          
   
    char *data;
    int MaxSize;
    int length;
} SeqList;
//初始化
void InitList(SeqList *L) {
          
   
    (*L).data = (char *) malloc(sizeof(char));
    (*L).data[0] =  ;
    (*L).length = 0;
    (*L).MaxSize = 0;
}
int main() {
          
   
    SeqList L;
    InitList(&L);
    char temp;
    printf("请输入字符串以回车结束:");
    while ((temp = getchar()) != 
) {
          
   
        char *p = L.data;
        L.data = (char *) malloc((L.MaxSize+1) * sizeof(char));
        for (int i = 0; i < L.length; i++) {
          
   
            L.data[i] = p[i];
        }
        L.MaxSize++;
        free(p);
        L.data[L.length++] = temp;
    }
    for (int i = 0; i < L.length; i++)
        printf("%c", L.data[i]);//L.data[]就是你需要的字符数组
    printf("
");
    //英文没有问题,但是对于汉子来说,一个汉子是3个char(三个字节)
    printf("%d
", L.length);
    printf("%d
", L.MaxSize);
    return 0;
}