比如static,const等,给出下面一个例子可以看出来,const修饰的变量是“只读”的,一直人云亦云,直到昨天,考虑到封装性时随手写了如下的小程序做了少许测试才对这个“只读”有了直观的了解。
unsigned char getch(const unsigned char *p)
{
// *p = 6; //这里编译不过
p++;// 这里编译能通过
return *p;
}
unsigned char getch2( unsigned char * const p)
{
*p = 6; //这里编译通过
// p++;// 这里编译能不过
return *p;
}
int main(void)
{
unsigned char i;
unsigned char *ch;
i = 5;
ch = &i;
printf("*ch = %d",getch(ch));
return 0;
}