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.

时间: 2024-11-02 12:30:20

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

简单的数组作为函数参数的调用问题

问题描述 简单的数组作为函数参数的调用问题 #includemain(){ int a[10]={1028221641061420}; int n=0; int i; int f(int); while(f(a[])) (此处去除中括号则调试无误,这是为什么?) { n++; for(i=0;i<=9;i++) { if(a[i]%2==1) { a[i]=(a[i]+1)/2; a[i+1]+=(a[i]+1)/2; } else a[i]=a[i]/2; } } printf("&qu

C语言及程序设计提高例程-36 多维数组作函数参数

贺老师教学链接  C语言及程序设计提高 本课讲解 用多维数组名作函数参数 #include <stdio.h> int max_value(int array[][4]); int main( ) { int a[3][4]= {{11,32,45,67},{22,44,66,88},{15,72,43,37}}; printf("max value is %d\n", max_value(a)); return 0; } int max_value(int array[]

详解C++编程中用数组名作函数参数的方法_C 语言

C++数组的概念 概括地说:数组是有序数据的集合.要寻找一个数组中的某一个元素必须给出两个要素,即数组名和下标.数组名和下标惟一地标识一个数组中的一个元素. 数组是有类型属性的.同一数组中的每一个元素都必须属于同一数据类型.一个数组在内存中占一片连续的存储单元.如果有一个整型数组a,假设数组的起始地址为2000,则该数组在内存中的存储情况如图所示. 引入数组就不需要在程序中定义大量的变量,大大减少程序中变量的数量,使程序精炼,而且数组含义清楚,使用方便,明确地反映了数据间的联系.许多好的算法都与

c语言 指针数组作为函数参数问题

问题描述 c语言 指针数组作为函数参数问题 #include<stdio.h> #include<stdlib.h> void init_rec(day_record *arr[],FILE *file) { char temp[80]; int index=0; while((fscanf(file,"%s",temp))!=EOF) { arr[index]=NULL; arr[index]=(day_record * )malloc(sizeof(day_

《C语言及程序设计》实践参考——二维数组当函数参数

返回:贺老师课程教学链接 [项目1-二维数组当函数参数]定义一个函数来完成对参数数组中元素的排序工作,函数声明如下: int sum(int array[ ][4],int m,int n); //该函数完成对array数组中的前m行和n列元素求和 在以下程序的基础上,完成对sum函数的定义. #include <stdio.h> int sum(int array[ ][4],int m,int n);//该函数完成对array数组中的前m行和n列元素求和 int main() { int

关于数组做函数参数的问题集合汇总_C 语言

首先是数组元素作为函数的实参,这和直接用多个变量作为函数的实参在用法上没有什么差别. 作为例子的代码: 复制代码 代码如下: #include<iostream>using namespace std;int main(){ int max(int a,int b);        int a[2],m;        a[0]=1;        a[1]=2; m=max(a[0],a[1]); cout<<m;   return 0;  }int max(int a,int

c++将数组名作为函数参数对数组元素进行相应的运算

  这篇文章主要介绍了c++将数组名作为函数参数对数组元素进行相应的运算,需要的朋友可以参考下 用数组名做函数参数与用数组元素作实参有几点不同: (1)用数组元素作实参时,只要数组类型和函数的形参变量的类型一致,那么作为下标变量的数组元素的类型也和函数形参变量的类型是一致的.因此,并不要求函数的形参也是下标变量.换句话说,对数组元素的处理是按普通变量对待的.用数组名作函数参数时,则要求形参和相应的实参都必须是类型相同的数组,都必须有明确的数组说明.当形参和实参两者类型不一致时,将会发生错误. (

C语言中:二维数组能否作为函数参数,如何定义?

问题描述 C语言中:二维数组能否作为函数参数,如何定义? 二维数组能否作为函数的参数进行单独的定义和使用?将?个二维数组的行和列交换,存储到另外一个数组中去,该如何定义函数实现呢? 解决方案 C语言中,数据名做函数的参数后,会退化为指针.没有必要使用指向指针的指针,使用指针就可以了:另外,将是几维数组.和每一维的大小也做为参数传入函数就可以的. 解决方案二: 可以作为函数参数传,但一般不这样做,一般传的是 指向该二维数组的指针~ 解决方案三: 二维数组作为函数参数(C语言)C/C++ 二维数组作

[总结]C语言二维数组作为函数的参数

前言:今天在实现装配线调度程序时候,用到了二维数组,并将其作为函数的参数.在写程序的时候,遇到一些问题,即二维数组做函数的参数应该如何正确表示.我写程序的错误如下程序所示: 1 #include <cstdio> 2 void print(int *a[3]) 3 { 4 printf("%d\n",a[0][0]); 5 } 6 7 int main() 8 { 9 int a[2][3] = {1,2,3,4,5,6}; 10 print(a); 11 return 0