C 保护数组内容,说说const

因为有的时候我们会手贱在函数中传参导致修改数组值,所以就产生了这个东西,特点其实是让编译器报错,告诉你这里不应该被改变。
如:int sum(const int ar[], int n)

如果const int days[MONTHS] = {31, 28, 31},则数组内容就不能改变了。

如果:

double rates[5] = {88.9, 100.12, 59.45, 183.11, 340.5};
const double * pd = rates;

则不能用pc来修改他所指向的数值,可是我们还是能通过rates[0]来修改,因为rates并不是常量。

如果我们换个写法double * const pc = rates那么就可以修改数据,却不能移动指针。

如果将上面两者结合使用,就相当于用了强力胶,怎么都动不了了:const double * const pc = rates

如果您觉得文章不错,可以通过赞助支持我

标签: 知识, 语法

添加新评论