我正在尝试编写此代码,但我不断收到此错误。
错误:从“ 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) */
答案 0 :(得分:2)
您可能正在尝试分配给数组。那不可能
您不需要为数组分配内存,它已经具有地址和大小。即使它的大小与数组(地址)相同,也无法为其分配新地址。
为了手动为list1_input_value
分配内存,您需要将其声明为指针float * list1_input_value
而不是数组float list1_input_value[number_of_elements]
,然后才能为其分配内存。 / p>