编辑:

Typedef struct SPro{
     int arrivalTime;
     char processName[15];
     int burst;
} PRO;

我有一个PRO类型的数组
PRO Array[100];
PRO enteringProcess;
//initialize entering process

然后我需要创建一个新进程,并使用malloc为该进程分配内存,然后将指针从数组指向malloc返回的内存块。
PRO *newPro = (PRO *) malloc (sizeof(PRO));
newPro = enteringProcess;
ProArray[0] = *newPro;

似乎我做错了什么,因为我的程序在运行时崩溃了。
有什么帮助吗?谢谢!

最佳答案

似乎你需要一个指向PRO的指针数组:

PRO *Array[100];

PRO *newPro = (PRO *) malloc (sizeof(PRO));
/* ... */
Array[0] = newPro;

我不知道那是什么,所以我不能发表意见。只是您不应该将任何内容分配给enteringProcess而不是返回newPro否则您将泄漏新对象。

10-05 19:55