让我们假设这段代码:
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的元素)的指针传递给该函数。