gpt4 book ai didi

c - c 中数组和指针作为函数参数的区别

转载 作者:行者123 更新时间:2023-11-30 18:13:58 27 4
gpt4 key购买 nike

定义这样的函数时:

void  myFunction(arguments){
// some instructions
}

使用type name[]有什么区别和type *name作为函数的参数。

当使用type name[]时并调用该函数是否将副本复制到 name数组或仅指向传递的数组。

name需要设置数组的下标。如果不是的话有什么区别。

最佳答案

无论哪种方式,都只传递一个指针。

void f(int array[]);

与传递 const 指针同义

void f( int * const array);
<小时/>

当传递带边界的二维数组时,它们变得非同义

void f(int array[][n]);

同义
void f(int (* const array)[n]);

但是不同

void f(int **array);

关于c - c 中数组和指针作为函数参数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20218903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com