c - 从另一个静态数组向 C 中的数组动态分配内存会产生垃圾值
问题描述
我正在为 FCFS 调度算法编写一个 C 程序。我一直在尝试动态分配一个数组,该数组包含存储在另一个静态整数数组中的进程 ID。
这是我的代码:
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
解决方案
推荐阅读
- flutter - Flutter - 离线数据与在线服务器同步(完整解决方案)
- python - 无法安装 python 库
- algorithm - 快速搜索算法
- h2o - H2O的预处理方法
- android - 从适配器类中删除项目时如何更新recyclerview
- c# - Azure Bot Framework - 无法访问的 QnA Maker 服务
- visual-studio - 如何构建不在 Visual Studio 解决方案中的项目?
- kubernetes - 将 UDP DNS 流量代理到 TCP 后端服务
- reactjs - 扩展运算符将 API 响应分配给接口
- opencv - 如何设置 pytesseract 来解决验证码字母数字和 5 长度