Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套在带有引用的数组中的函数 在C++中,当将数组传递给函数时,数组不会被复制,而是作为引用传递(实际上参数代码> >代码> int [3 ] < /COD>衰变为数组的第一个元素的指针,即到int */COD>,并且类型的参数 int ONIO[]/COD>相当于int */COD>。因此,当您将胡椒作为参数传递给函数参数洋葱,并在函数中通过洋葱[芹菜]++增加数组的值时,实际上增加了数组胡椒的值。 这就是为什么 >辣椒[3 ] = {4},3,2,1} 应该是代码>辣椒[4 ] = {4},3,2,1} ,你应该得到一个编译器警告。C++中,_C++_Pointers_Reference - Fatal编程技术网

嵌套在带有引用的数组中的函数 在C++中,当将数组传递给函数时,数组不会被复制,而是作为引用传递(实际上参数代码> >代码> int [3 ] < /COD>衰变为数组的第一个元素的指针,即到int */COD>,并且类型的参数 int ONIO[]/COD>相当于int */COD>。因此,当您将胡椒作为参数传递给函数参数洋葱,并在函数中通过洋葱[芹菜]++增加数组的值时,实际上增加了数组胡椒的值。 这就是为什么 >辣椒[3 ] = {4},3,2,1} 应该是代码>辣椒[4 ] = {4},3,2,1} ,你应该得到一个编译器警告。C++中,

嵌套在带有引用的数组中的函数 在C++中,当将数组传递给函数时,数组不会被复制,而是作为引用传递(实际上参数代码> >代码> int [3 ] < /COD>衰变为数组的第一个元素的指针,即到int */COD>,并且类型的参数 int ONIO[]/COD>相当于int */COD>。因此,当您将胡椒作为参数传递给函数参数洋葱,并在函数中通过洋葱[芹菜]++增加数组的值时,实际上增加了数组胡椒的值。 这就是为什么 >辣椒[3 ] = {4},3,2,1} 应该是代码>辣椒[4 ] = {4},3,2,1} ,你应该得到一个编译器警告。C++中,,c++,pointers,reference,C++,Pointers,Reference,,当你把数组传递给函数时,数组不会被复制,而是“作为引用”传递(实际上参数辣椒>代码> >代码> int [ 3 ]衰减为指向数组第一个元素的指针,即指向int*,参数类型int-onions[]也相当于int*)。因此,当您将胡椒作为参数传递给函数参数洋葱,并在函数中通过洋葱[芹菜]++增加数组的值时,实际上增加了数组胡椒的值。 这就是为什么 顺便说一句:peppers[3]={4,3,2,1}应该是peppers[4]={4,3,2,1},你应该在这里得到一个编译器警告。为什么炒过函数后pe

,当你把数组传递给函数时,数组不会被复制,而是“作为引用”传递(实际上参数<代码>辣椒>代码> >代码> int [ 3 ]衰减为指向数组第一个元素的指针,即指向
int*
,参数类型
int-onions[]
也相当于
int*
)。因此,当您将
胡椒
作为参数传递给函数参数
洋葱
,并在函数中通过
洋葱[芹菜]++
增加数组的值时,实际上增加了数组
胡椒
的值。 这就是为什么


顺便说一句:
peppers[3]={4,3,2,1}
应该是
peppers[4]={4,3,2,1}
,你应该在这里得到一个编译器警告。

为什么炒过函数后peppers[2]=3的值?
因为:
洋葱[芹菜]+
peppers[3]={4,3,2,1}
您的意思是
peppers[4]={4,3,2,1}
peppers
是一个由3
int
组成的数组,但您想在其中填充4个值
zucchini
是一个指针,您确定要这样打印它,还是要打印
*zucchini
?当作为参数传递给函数时,数组会衰减为指向第一个元素的指针。@DimChtz但第一个元素不是有胡椒[0]吗?@Perfectisshit是的,但数组的大小是4而不是3。
为什么在Saute函数之后胡椒[2]=3?
因为:
洋葱[芹菜]++
peppers[3]={4,3,2,1}
您的意思是
peppers[4]={4,3,2,1}
peppers
是一个由3
int
组成的数组,但您想在其中填充4个值
zucchini
是一个指针,您确定要这样打印它,还是要打印
*zucchini
?当作为参数传递给函数时,数组会衰减为指向第一个元素的指针。@DimChtz但第一个元素不是有一个peppers[0]吗?@Perfectisshit是的,但数组的大小是4而不是3。我刚在网上查过,我不知道数组是这样工作的。谢谢!我刚在网上查过,我不知道数组是这样工作的。谢谢!
int main() {
    int broccoli,peppers[3]={4,3,2,1} , *zucchini;
    zucchini = &peppers[Saute(peppers,1)];
    cout<<zucchini<<endl;
}
int Saute(int onions[], int celery) {
    celery *= 2;
    onions[celery]++;
    return celery;
}