Я должен выделить массив после моего основного кадра или до - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь написать этот код, но получаю эту ошибку.

ошибка: несовместимые типы при назначении типу 'float [(long unsigned int) (number_of_elements)]' из типа 'float *'

Я перепробовал все, и япросто в тупик.

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 Ответ

2 голосов
/ 12 апреля 2019

Вы вероятно пытаетесь присвоить массив. Это невозможно.

Вам не нужно выделять память для массива, у него уже есть адрес и размер. Вы не можете назначить ему новый адрес, даже если он имеет тот же размер, что и массив (адрес).

Чтобы вручную выделить память для list1_input_value, вам нужно объявить ее как указатель float * list1_input_value, а не как массив float list1_input_value[number_of_elements], и тогда вы сможете выделить для нее память.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...