我要在主框架之后还是之前分配数组

时间:2019-04-12 09:13:32

标签: c

我正在尝试编写此代码,但我不断收到此错误。

  

错误:从“ float *”类型分配为类型“ float [(long unsigned int)(number_of_elements)]”类型时,类型不兼容

我已经尝试了一切,而我却陷入了困境。

list1_input_value =
      (float*)malloc(sizeof(float) * number_of_elements);
if (list1_input_value == (float*)NULL) {
    printf("ERROR: the attempt to allocate array failed.\n");
    exit(program_failure_code);
} /*  if (list1_input_value == (float*)NULL) */
else
list1_input_value = (float*)malloc(sizeof(float) *
number_of_elements);
if (list2_input_value == (float*)NULL) {
    printf("ERROR: the attempt to allocate array failed.\n");
    exit(program_failure_code);
} /*  if (list2_input_value == (float*)NULL) */

1 个答案:

答案 0 :(得分:2)

可能正在尝试分配给数组。那不可能

您不需要为数组分配内存,它已经具有地址和大小。即使它的大小与数组(地址)相同,也无法为其分配新地址。

为了手动为list1_input_value分配内存,您需要将其声明为指针float * list1_input_value而不是数组float list1_input_value[number_of_elements],然后才能为其分配内存。 / p>