Dynami c распределение памяти для массивов в C из другого массива stati c дает значения мусора - PullRequest
0 голосов
/ 27 мая 2020

Я пишу программу C для алгоритма планирования FCFS. Я пытался динамически выделить массив, содержащий идентификаторы процессов, хранящиеся в другом массиве stati c целых чисел.

Вот мой код:

int pid[number_of_processes]; // Stores IDs of all processes

//Storing IDs of all Processes
   for(i = 0; i < n; i++){
     pid[i] = numberArray[i];
     printf("PID %d\n", pid[i]);
   }

int *ptr;
ptr = (int *)malloc(number_of_processes * sizeof(int));

for(int i =0; i< number_of_processes; i++){
  ptr[i] = pid[i];
  printf("PTR of %d is %d\n",i,ptr[i]);
}

Значения в pid [ ] равны {4,1,2,3,5} | number_of_processes = 5

Результат, который я получаю:

PTR of 0 is -395230048
PTR of 1 is 4
PTR of 2 is 100
PTR of 3 is 15
PTR of 4 is 5

Ожидаемый результат

PTR of 0 is 4
PTR of 1 is 1
PTR of 2 is 2
PTR of 3 is 3
PTR of 4 is 5
...