在大多数语言中(如c++),传递数组会导致通过引用隐式传递数组,因此对函数中传递的数组的任何更改都会导致更改原始数组。我正在学习Golang,在Alan A.A. Donovan和Brian W.Kernighan的“围棋编程语言”( the Go Programming Language)一书中,有人说它的行为与其他语言不同--它不会通过引用隐式传递数组。这让我
我正在为一种"c-like"语言编写编译器。目前,编译器支持局部作用域中的数组。可以使用括号表示法-a[0], a[1],...来访问数组的每个元素。我假设c语言在局部作用域中使用基于堆栈的数组实现,就像我所做的那样。但是,C语言如何将局部数组作为参数传递给函数,如下所示?foo(int[] a) {}
C编译器会使用堆还是堆栈来传递前面提到的