函数声明中的const

时间:2015-04-20 20:49:58

标签: c arrays

在函数调用中声明为

的数组中
int addTax(const int* anArray, int* pNewArray)
{
    for(int i = 0; i < (sizeof(anArray)/sizeof(int); i++)
    {
         /* Not important code */  
    }
    return *pNewArray;
}

const参数中的const int* anArray是否保证它只是一个输入参数,而*pNewArray是一个返回参数?

2 个答案:

答案 0 :(得分:0)

我可能误解了一些东西,但如何创建一个返回参数 ??

const用于表示不得更改标记为此的变量。但是,当您使用指针时,这不会像那样工作。人们仍然可以改变指针所指向的东西的价值。

这段代码很奇怪。您正在返回指向int的指针,但该函数表示它只返回int。正如评论中提到的那样,你的代码甚至不会编译

答案 1 :(得分:0)

  

const int * anArray参数中的const是否保证它只是一个输入参数

这里的const限定符意味着该函数不会使用anArray指针来修改它指向的对象。