我是一名计算机科学专业的学生,目前正在学习 C。 几周前,我学习了常量变量和常量指针。讲师提到他在 Linux 内核中发现了一个函数,可以将 const 变量转换为可变变量。问题是他不记得在哪里找到它的。
A.这个函数在哪里,它有什么作用?
B.程序员为什么要这么做?
最佳答案
不确定您是否对核函数或它的原理感兴趣 变量的“de-const”(删除 const 属性)。在 C 语言中,它被重铸为这样;
const int i = 8;
// i=9; // (compiler error)
*(int*)&i = 9; // (ok)
在 C 语言中,程序员这样做是因为他们无法使用所需的值初始化变量,需要将其作为寻址参数传递,或者无论如何都需要更改它。
关于c - Linux 内核,const 转换函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30266528/