mdsk.net
当前位置:首页 >> C语言如何在子函数中改变主函数数组值? >>

C语言如何在子函数中改变主函数数组值?

两种方法. 一: 把a作为参数传递给sss(); int sss(int x) {x ; }这样仅仅只是使用a的值,是把a的值复制给x,使x的值等于a,可以在子函数中使用a的数值,但无法改变主函数中a的值. 二, 使用指针.声明一个指针指向a,把a的地址作为参数传递给子函数,那...

用数组时,必须要知道二维数组的后一个维度,否则无法正确修改,比如: void modify(int a[][10]) { a[1][2] = 12; a[2][5] = 25; } void main() { int a[5][10]; a[1][2] = 0; a[2][5] = 0; modify(a); printf("a(1,2)=%d, a(2,5)=%d\n",12, 25...

#include //望采纳!! int main(void) { void aaa(int *);//声明函数aaa int x1[3][3]; aaa(x1); printf("%d\n",x1[1][1]);//{{1,2,3},{4,5,6},{7,8,9}};输出元素[1][1],很明显是5 } void aaa(int *x1[3][3]) { //x1[3][3]={{10,10,10},{12,12,12...

一般是需要主函数提供保存数据的数组,在参数中给出数组起始地址,然后子函数在其中填充,比如要准会的整数是56 void fun(int *a,int b) { ... } void main() { int a[20]; fun(a,56); }

可以在子函数里型定义一个数组,用for循环赋值,改变新数组,不去改变原数组。

两种方法: 1,将该数组声明为全局变量; 2,将该数据以子函数参数的形式传入子函数;

把数组名作为实参,传递给子函数即可,这是地址传递,子函数中处理的结果将影响到主函数数组的元素值。课本上“数组做函数参数”部分应该有例子可以参考。

如果用数组作为形参,就是在子函数中重新定义一个数组,不能调用 如果使用指针,传递的就是数组地址,可以不通过返回值,就能调用

#include #include #include #include using namespace std; //法一:子函数内将数组指针复制给形参指针,正如楼上的思路 //法二:return返回指针(需要用C++) int* shuzu() { int i; int a[10] = {1,2,3}; int *pa; pa=a; srand((int)time(0))...

可以把该数组声明为全局的,这样在其他子函数中可以很方便的访问了。

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com