c语言const用法总结

版权声明:欢迎转载请注明转自方辰昱的博客https://blog.csdn.net/viafcccy https://blog.csdn.net/viafcccy/article/details/84951850

这里讲的是c中的const不是cpp中的

int const a 等价于 int const b

char * const p 表示指针变量p中的地址不可被修改

const char *p  表示指针p指向的内存空间不可被修改

const chat * const p 表示指针变量和指向的内存空间都不可被修改

但是在c语言中const其实是个伪命题 因为它只是将变量设为不可修改 也就是你无法直接修改变量

但是可以间接修改变量 因为内存不是只读的 因此我们可以

#include<stdio.h>

int main()
{
    const int a = 1;
	int *p = (int *)&a;
    *p = 100;
    printf("%d\n",a);
	return 0;
}

进行修改但是我发现在vc++6.0中是做不到修改但是在vs中是可以的

这种写法甚至不能通过编译

利用const的好处

1.在指针函数参数时可提高代码的可读性减少bug

2.分清函数的输入与输出

猜你喜欢

转载自blog.csdn.net/viafcccy/article/details/84951850