如果函数的意图不是修改数组中的数据内容,那么在函数原型和函数定义中声明形式参数时应使用关键词const.
例如
int sum(const int ar[],int n);
int sum(const int ar[],int n)
{int i;
int total=0;
for(i=0;i
{total+=ar[i];
return total;
}
以上代码中的const告诉编译器,该函数不能够修改ar指向的数组中的内容。如果在函数中不小心适应了类似ar[i]++的表达式,编译器会捕捉到这个错误,并生成一条错误信息。
double rates=[11.11,12.13,445,55];
const double *pd=rates;//指向数组的首元素
以下的操作都是不允许的
*pd=22;//不允许
pd[2]=22;//不允许
但以下操作是允许的
rates[0]=99.99;
pd++;//让pd指向rates[2];
不允许使用pd修改他所指向数据的值,