我总是搞砸了怎么用const int*,const int * const和int const *正确的.是否有一套规则来定义您能做什么和不能做什么?
我想知道在任务,传递到职能等方面所做的所有事情和所有不应做的事情.
我知道指针有一个地址和内容单元格,其中包含一个地址.那么下面的代码中的指针会发生什么:
int a=5;
int* const ptr=&a;
*ptr=6;
Run Code Online (Sandbox Code Playgroud)
ptr保持的地址没有改变,那么ptr指向的值如何改变?
从linux内核脚本/ mod/modpost.c:
static int is_vmlinux(const char *modname)
{
const char *myname;
myname = strrchr(modname, '/');
if (myname)
myname++;
else
myname = modname;
return (strcmp(myname, "vmlinux") == 0) ||
(strcmp(myname, "vmlinux.o") == 0);
}
Run Code Online (Sandbox Code Playgroud)
我的理解:
这是定义指向char类型和const修饰符的指针.此指针无法更改.但是在接下来的行中我们改变了指针.
这是对的吗?看起来没有.:(
为什么在这段代码中使用const?在这做什么const?我们可以不用const写吗?