小编Ale*_*lex的帖子

函数参数中int*array和int array []之间的区别

我已经看到,如果函数参数是"int arr []"或"int*arr",数组值将会改变.区别在哪里?

int array []:

void myFunction(int arr[], int size) {

    for (int i = 0; i < size; ++i)
        arr[i] = 1;
}
Run Code Online (Sandbox Code Playgroud)

int*数组:

void myFunction(int * arr, int size) {

    for (int i = 0; i < size; ++i)
        arr[i] = 1;
}
Run Code Online (Sandbox Code Playgroud)

这两个函数都会更改数组值.

int main(){

     int array[3];

     array[0] = 0;
     array[1] = 0;
     array[2] = 0;

     myFunction(array, 3);

     return 0;

 }
Run Code Online (Sandbox Code Playgroud)

c++ arrays pointers parameter-passing

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

c++ ×1

parameter-passing ×1

pointers ×1