c - C 中的指针和变量

标签 c pointers

struct TCB_t *del = RunQ;
del->next = NULL;

在上面的代码行中,对 del 所做的任何更改也会对 RunQ 进行。在第一行中,RunQ 的所有值也被赋予了 del。我认为在这一行之后对 del 的任何更改都不会影响 RunQ。但是在第二行之后,RunQ->next 为 Null。为什么会这样以及我该怎么做才能改变我对 del 所做的更改不会影响 RunQ

最佳答案

struct TCB_t del = *RunQ;
del.next = NULL;


struct TCB_t newRunQ = *RunQ;
struct TCB_t *del = &newRunQ;
del->next = NULL;

关于c - C 中的指针和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26679790/

相关文章:

c - 为什么指针在 free() 之后不为空(没有复制指针)

c++ - DLL 互操作/有趣的错误

c - 程序出现未知异常

c - 为什么 gcc -Wformat 不对 unsigned int 上的 printf %d 发出警告?

c - 如何使用堆栈解决库存跨度问题?

c++ - 附上两张图片到fbo进行mrt渲染

c - scanf() 格式字符串中的空白

c - 我用c写了一个substr函数,但是在main函数中获取不到返回值

c - 取消引用强制转换的 void 指针并使用后增量运算符

c++ - 将指向 lambda 函数的指针分配给指向另一个 lambda 函数的指针