当前位置:首页 » 编程语言 » 传递二维数组C语言

传递二维数组C语言

发布时间: 2022-04-03 12:51:11

A. c语言 子程序 怎样传递二维数组参数

可以

void test( int a[][N], int row)
{
}

B. c语言二维数组传值

多维数组传递,n要为固定大小,void p( arr[][5] );
int arr[2][5];

p(arr);

来自下面网址

网页链接

C. C语言 二维数组传递参数

二维数组传递给函数的时候,有两种方式,一种是a[][6],一种是(*a)[6],这里的6是不能省略的,不然编译器不知道如何通过加多少来偏移这个指向数组的指针。

D. C语言 传递二维数组 急

既然是全局变量数组,那么就直接用就行了,不需要作为参数和返回。
全局变量申明时放在所有函数的之前,然后再ini()函数直接改,在display()中直接用就行。

E. C语言中如何将二维数组作为函数的参数传递

在C语言中可以用二维数组作为实参或者形参。


1、函数中用二维数组作为形参,函数声明中可以指定所有维数的大小,也可以省略第1维的维数如:

voidf(intarray[3][10]);//正确
voidf(intarray[][10]);//正确

上面的两种二维数组形参表示都是正确的。


2、函数中用二维数组作为形参,不能把第2维或者更高维的大小省略,如下面的定义是不合法的:

voidf(intarray[][]);//错误

因为从实参传递来的是数组的起始地址,在内存中按数组排列规则存放(按行存放),而并不区分行和列,如果在形参中不说明列数,则系统无法决定应为多少行多少列,不能只指定一维而不指定第二维,下面写法是错误的:

voidf(intarray[3][]);//错误

3、二维数组作为实参传递时,必须保证实参第2维的维数与形参第2维的维数相同,因为必须要保证形参和实参的数据类型一致。比如定义如下函数:

voidf(intarray[][10]);

可以将如下数组传递给函数f。

inta[2][10]={1,2,3,4};
intb[4][10]={1};

F. c语言函数怎么传入一个二维数组

这样传:
函数声明:Func(变量类型 *[二维数组的列长] arry);

char arry[][4] ;
Func(arry);

G. C语言中 指针做函数参数传递二维数组

#include <stdio.h>

void fun(int (*p1)[3],int (*p2)[3]);

int main()

{

int p1[3][3]={{7,8,9},{4,5,6},{1,2,3}} ;

int p2[3][3] = {0};

int i = 0, j = 0;

fun(p1,p2);

for(i = 0;i < 3;i++){

for(j = 0;j < 3;j++){

printf("%d ",*(*(p2+i)+j));

}

printf(" ");

}

return 0;

}

void fun(int (*p1)[3],int (*p2)[3])

{

int i = 0,j = 0;

for(i = 0;i < 3;i++){

for(j = 0;j < 3;j++){

*(p2[j]+i) = *(p1[i]+j);

}

}

}

(7)传递二维数组C语言扩展阅读:

函数指针的声明方法为:

返回值类型 ( *指针变量名) ([形参列表]);

其中,“返回值类型”说明函数的返回类型,“(指针变量名 )”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。例如:

int func(int x); /* 声明一个函数 */

int (*f) (int x); /* 声明一个函数指针 */

f=func; /* 将func函数的首地址赋给指针f */

或者使用下面的方法将函数地址赋给函数指针:

f = &func;

赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。

网络-函数指针

H. C语言怎么以二维数组作为参数传递的问题

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

voidfun(intx[][3])
{
inti,j;

for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%d",x[i][j]);
}
printf(" ");
}
}

intmain()
{
inta[2][3]={1,2,3,4,5,6};

fun(a);

return0;
}

定义形参的时候定义列的数目即可,其实就算你随便定义行和列的大小也可以运行,只要将数组地址传进去即可

I. C语言 二维数组的列 事先未知(要用户输入) 怎样把这个数组作为参数传递给函数

intfunc(int**a){
input(size);
malloc(a,size);
dosomething;
free(a);
}

热点内容
雷克萨斯nx哪个配置最保值 发布:2025-01-18 16:07:41 浏览:462
怎么改加密密码 发布:2025-01-18 16:06:48 浏览:125
通过域名访问内网 发布:2025-01-18 16:01:39 浏览:275
md5加密后的密码是什么意思 发布:2025-01-18 15:50:16 浏览:193
如何qq空间访问权限 发布:2025-01-18 15:49:30 浏览:532
matlab遗传算法约束 发布:2025-01-18 15:31:33 浏览:910
果冻java 发布:2025-01-18 15:25:59 浏览:696
电脑与时间服务器同步间隔 发布:2025-01-18 15:21:28 浏览:55
苹果手机apple登录密码在手机哪里 发布:2025-01-18 15:13:43 浏览:381
吃鸡去哪里下手游安卓 发布:2025-01-18 15:10:59 浏览:669