#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;
}