让我们假设这段代码:

void function(const float vect[]){

// making something with "vect" here (not modifying as it is const)

};

然后在主要功能:
float v[5];

function(v+2);

这样调用函数是否正确?
我到底要传递给该函数做什么呢?

最佳答案



只要您不超出范围访问数组(即,您仅读取vect[0]vect[1]vect[2]),它就是。



我不明白这个问题。如果您想知道它的作用:v数组衰减为一个指针,则+运算符对其执行指针算术运算,然后将指向第三个元素(即索引2的元素)的指针传递给该函数。

10-08 13:29