GO不支持数组通过函数参数更改,有点不一样

package main

import "fmt"

func modify(array [10]int) {
    array[0] = 10
    fmt.Println("In modify(), array values: ", array)
}
func main() {
    array := [10]int{1, 2, 3, 4, 5}
    modify(array)
    fmt.Println("In main(), array values: ", array)

}

D:/gocode/gocode.exe [D:/gocode]

In modify(), array values: [10 2 3 4 5 0 0 0 0 0]

In main(), array values: [1 2 3 4 5 0 0 0 0 0]

成功: 进程退出代码 0.

GO不支持数组通过函数参数更改,有点不一样

时间: 2024-10-18 05:27:23

GO不支持数组通过函数参数更改,有点不一样的相关文章

C++数组作为函数参数的几个问题(转)

本文需要解决C++中关于数组的2个问题:1. 数组作为函数参数,传值还是传址?2. 函数参数中的数组元素个数能否确定? 先看下面的代码. #include <iostream> using namespace std; void testArrayArg(int a[]) { cout << endl; cout << "in func..." << endl; cout << "array address: &qu

编程题:用一组数组做函数参数来实现,输入两个数,输出其中最大数

#include<stdio.h> float max(float x,float y) { float z; if(x>y)z=x; else z=y; return z; } void main() { float a[2],c; scanf("%f,%f",&a[0],&a[1]); c=max(a[0],a[1]); printf("%f,%f,the max is %f\n",a[0],a[1],c); } 编程题:用一组

C语言--- 高级指针2(结构体指针,数组作为函数参数)

一.结构体指针 1. 什么是结构体指针?指向结构体变量的指针     结构体:     typedef  struct stu{                          char name[20];                          char sex;                          int age;                    }Student;     Student stu1 = {"zhangsan",'m',23};  

c语言中二维数组作函数参数以及二维数组的理解

当二维数组作函数参数接受主调函数中的二维数组时,退化为一个指向数组的指针. 在此引用<c与指针>中的观点:作为函数 参数的多位数组名的穿递方式和一维数组名相同--实际传递的是个指向数组第一个元素的指针.但是,两者之间的区别在于, 多维数组的每个元素本身是另外一个数组,编译器需要知道它的维数,以便为函数形参的下标表达式进行求值.

二维数组作为函数参数的几种方法

#include <stdio.h> #define N 5 void fun1(int a[N][N]) { int i,j; for (i=0;i<N;i++) { for (j=0;j<N;j++) { if (i>j) { a[i][j]+=a[j][i]; a[j][i]=0; } } } } void fun2(int **a,int m,int n) { int i,j; for (i=0;i<m;i++) { for (j=0;j<n;j++) {

二维数组作为函数参数深度详解

        前几天和同学讨论数组作为函数参数,感觉各种困惑.花了一些时间在网上查看了一些资料,并加上自己的理解.记录一下! 一. 指向指针的指针和指向数组的指针 很多人以为"指向数组的指针"就是"指向指针的指针",于是有人写这样的代码: int a[3][4]; int **p = a; //错误 数组实际类型是int [3][4],在作为右值时可以被转化为int (*)[4],它们都和int **不同,自然不可用. 那么,你要用一个指针来指向a,就要用一个

C语言 数组做函数参数不传数组个数的遍历方法

//数组做函数参数不传数组个数的遍历方法 #include<stdio.h> #include<stdlib.h> #include<string.h> void PrintfAK(char **pin){ int i = 0; //关键点:pin[i]!=NULL为终止条件 for (i = 0; pin[i]!=NULL; i++) { printf("%s\n", pin[i]); } } void main(){ //赋值数组最后一个元素是0

数组作为函数参数

一.一维数组名作函数参数 用数组名作函数参数,应该在主调函数和被调函数分别定义数组,例如 <span style="font-size:18px;">void main() { void f(int b[10]);//void f(int b[]) int a[10]; f(a); }</span> 在被调用函数中声明了形参数组的大小为10,但在实际中,指定其大小是不起任何作用的,因为C语言编译对形参数组大小不做检查,只将实参数组的首元素地址传给形参数组.形参数

[C++程序设计]用数组名作函数参数

1. 用数组元素作函数实参 1 #include <iostream> 2 using namespace std; 3 4 int max_value(int x, int max) 5 { 6 return max > x ? max : x; 7 } 8 9 int main() 10 { 11 const int x = 3, y = 4; 12 int a[x][y]={{34,62,34,101},{45,67,3,0},{11,45,97,100}}; 13 int max