柔性阵列中的结构中的柔性阵列(AKA起始)

时间:2018-11-25 16:30:14

标签: struct dynamic-memory-allocation dynamic-arrays

#include <stdlib.h>
#include <stdio.h>

struct data *poly;

struct data{
int a;
double coeff[];
};

void resize(size_t n);


struct data inputdata()
{

printf("please enter the order of your polynomial");
int b;
scanf("%d", &b);

struct data polynomial;


polynomial.a = b;


////////////////////////////////////////////
for(int i = 0; i<=b; i++){
  printf("enter your coeffiecient");
  scanf("%le",&polynomial.coeff[i]);

}//end for
return polynomial;
}

void resize(size_t n)
{
poly = realloc(poly,n *(sizeof *poly)); 
}

int main(void)
{
poly = malloc(sizeof(int)+ sizeof(double));

size_t i, n;

printf("how many polynomials do you want to make");
scanf("%ld",&n);
resize(n);

for(i = 0; i<n; i++){
poly[i] = inputdata();
}

free(poly);

}

我正在尝试编写可生成多项式的代码:用户可以选择要生成的多项式,选择多项式的阶数并输入所有系数。显然,我需要整理他们如何查询数据和东西,但我只是想让它首先工作。

我将每个多项式存储在一个结构中,所有结构都保存在一个灵活的数组中。每个结构中都有一个灵活的数组,如果结构中没有灵活的数组,那么上面的代码可以正常工作,但是我无法获得如何在该结构内的灵活数组中分配内存的信息,但是当它包含在其中时,我会得到注释:ABI在GCC 4.4中更改了带有灵活数组成员的结构的错误,错误如何解决?

0 个答案:

没有答案