小编Art*_*r _的帖子

在 C 中将数组作为参数传递

为什么这段代码有效?

#include <stdio.h>

void func(int v[]){
    v[0] = 1;
}

int main(){
    int v[5] = {0};
    func(v);
    for (int i = 0; i < 5; i++)
    {
        printf("%d ", v[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到的输出是 '1 0 0 0 0' 但为什么呢?我没有传递指针,为什么该函数可以更改我的 main 中的数组?

c arrays pointers pass-by-reference implicit-conversion

4
推荐指数
1
解决办法
2116
查看次数