调试操作系统时,进行了以下更改以消除错误:

struct proc {
    int p_status;
};
int *status;
struct proc *childP;


之前:

*status = childP->p_status;


我将其更改为:

status = &childP->p_status;


然后,操作系统运行良好。但是据我了解,前后的工作方式不一样吗?它们之间有什么区别?谢谢!

最佳答案

*status = childP->p_status;
表示:用status值分配childP->p_status指向的存储位置

status = &childP->p_status;
表示:将status设置为指向childP->p_status的存储位置

关于c - c中int指针的用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20292411/

10-09 03:23