【发布时间】:2021-05-11 01:04:12
【问题描述】:
对于下面的 malloc 语句,我无法初始化可变大小的对象
int textsize = BUF_SIZE;
char *lines[textsize] = malloc(sizeof(char *) * textsize);
目标是拥有一个指针数组,每个指针将存储指向用户输入的 STDIN 行的指针。 textsize 是用户输入支持的行数。
错误:
error: variable-sized object may not be initialized
char *lines[textsize] = malloc(sizeof(char *) * textsize);
【问题讨论】:
-
您正在尝试动态分配您已经静态分配的数组。
char **lines = malloc(sizeof(char *) * textsize);