如何动态定义结构体数组 5

structppt{...}structpptPPT[N];N的值由文件读入编程实现:文件读入N;structpptPPT[N];总是编译出错:(cannotalloca... struct ppt
{...
}
struct ppt PPT[N];N的值由文件读入
编程实现:
文件读入N;
struct ppt PPT[N];
总是编译出错:(cannot allocate an array of constant size 0)
展开
 我来答
慎重还可靠灬宝贝f
推荐于2017-09-17 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2602万
展开全部
利用链表就能实现。
实现代码如下:

struct _intarr {
int arr[100];
static int count;
_intarr* next;
}

使用的时候
_intarr arr;
_intarr::count = 100;
arr.next = NULL;
_intarr* parr = &arr;
增加空间
parr->next = (_intarr*)malloc(sizeof(_intarr));
parr = parr->next;
parr->next = NULL;
_intarr::count += 100;
释放
parr = arr.next;
_intarr* parr1 = parr->next;
while (parr1 != NULL) {
free(parr);
parr = parr1;
parr1 = parr1->next;
}
清影星河6A
2008-11-19 · TA获得超过851个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:896万
展开全部
那是因为
cannot allocate an array of constant size 0
N = 0

struct ppt PPT[0]; 这是不合逻辑的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式