c语言中怎么把一个大小不确定的二维数组当作参数传入函数中

问题描述

c语言中怎么把一个大小不确定的二维数组当作参数传入函数中

c语言中怎么把一个大小不确定的二维数组当作参数传入函数中,取大神,取大神,取大神

解决方案

用VC++新建一个程序,默认生成的main函数定义如下
int mian(int argc, char* args[])

这就是一个例子。

解决方案二:

一个表示长度的参数,一个指向二维数组的指针

解决方案三:

fun(args[][],int rows,int cols)

解决方案四:

void Func(int array[][10]);
也可以是void Func(int **array);
参考:http://blog.csdn.net/xudongdong99/article/details/6723163

解决方案五:

当然要传入二个维度大小了,此外可有两种常见传递方式
(以int为例。)
1.传入一个指向二维数组首地址指针,注意二维数组名的类型是诸如int(*)[10]之类的而不是int**之类的,受数组列数影响。
2.传入一个(看上去是取了一次内容的)*a到普通指针(int*),用b[m*i+j]来获取a[i, j],其中m是二维数组列数。

解决方案六:

C语言中实现参数个数不确定的函数

解决方案七:

如果是int类型的话,那就int a* ,即传入指向二维数组的指针,然后用指针取行列元素即可。

时间: 2025-01-30 17:16:51

c语言中怎么把一个大小不确定的二维数组当作参数传入函数中的相关文章

c-如何定义一个自增之后在二维数组中移动到下一行的指针?

问题描述 如何定义一个自增之后在二维数组中移动到下一行的指针? 如何定义一个自增之后在二维数组中移动到下一行的指针?如何定义一个自增之后在二维数组中移动到下一行的指针? 解决方案 自增是不能移动到下一行的,自增实现的是++, 解决方案二: 用二重数组,比如 int ** arr; arr += 第一维长度; 解决方案三: int a[m][n]={""}; *a+1;表示下一行; *(a+1):表示下一个元素位置. 若果now<n,移动到x行的当前位置:a[m*x+now]. 解

有一个关于整型指针二维数组的问题

问题描述 有一个关于整型指针二维数组的问题 int x[4][4]y[4][4]z=0o=0;//z表示的是当前矩阵中的非零数字的数量,z为16则说明数字排满了,本局输了 //o表示最大数字的值,本例设定的是1024typedef int row[4]; //row代表具有4个元素的整型数组row p=x *q=y;//P是整型指针数组,有4组,每组有4个元素.p[1]=x[1]=(x+1) 这是别人写的2048源码的一部分,想问一下,这里为什么要先定义一个有4个元素的整型数组,然后再用这个去定

C语言及程序设计提高例程-35 使用指针操作二维数组

贺老师教学链接  C语言及程序设计提高 本课讲解 使用指向二维数组元素的指针 #include <stdio.h> int main( ) { int a[3][4]= {1,3,5,7,9,11,13,15,17,19,21,23}; int *p; for(p=a[0]; p<a[0]+12; p++) { printf("%3d ",*p); } return 0; } 使用指向一维数组的指针 #include <stdio.h> int main(

《从缺陷中学习C/C++》——6.12 二维数组的内存泄露

6.12 二维数组的内存泄露 从缺陷中学习C/C++代码示例 int main() { int **pVal = new int* [2]; for(int i = 0; i < 2;i++){ pVal[i] = new int[3]; } delete [] pVal; return 0; } 现象&结果二维数组的释放,没有将每个元素逐一释放,造成内存泄露.使用valgrind检测工具检测,可以得到类似的信息,LEAK SUMMARY: definitely lost: 24 bytes

二维数组-请问这段代码中最后输出元素的时候,有必要加个空格吗?

问题描述 请问这段代码中最后输出元素的时候,有必要加个空格吗? static void Main(string[] args) { int[,] score = new int[3, 5]; score[0, 0] = 103; score[1,4] = 80; for (int i = 0; i <3; i++) { for (int j = 0; j < 5; j++) { Console.Write(score[i, j] + " "); Console.WriteL

怎么把文本文件写入二维数组并在组合框中输出,求大神帮忙啊帮忙

问题描述 [align=center]要求是:学院用组合框控件显示,数据来自txt资源文件.专业也用组合框控件显示,数据来自txt资源文件,并且可以根据学院名称显示对应的专业.这个是文本文件的内容:外国语学院英语专业日语专业,法语专业化工学院染整工程化工工程工商管理学院MBA工商管理专业会计专业[/align]我现在想把文本文件写入二维数组然后放到组合框里,弄了好久都弄不出,求大侠帮忙帮忙 解决方案 解决方案二:用二维数组恐怕不合适解决方案三:用一维数组保存学院名,用交错数组保存各学院的专业名,

《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语言中指向一位数组与二维数组的指针_C 语言

一维数组和指针:对于一位数组和指针是很好理解的: 一维数组名: 对于这样的一维数组:int a[5];  a作为数组名就是我们数组的首地址, a是一个地址常量 . 首先说说常量和变量的关系, 对于变量来说, 用箱子去比喻再好不过了, 声明一个变量就声明一个箱子,比如我们开辟出一个苹果类型的箱子, 给这个变量赋值就是把盛放苹果的箱子中放入一个实实在在的苹果, 这就是变量的赋值.  而对于数组来说, 就是一组类型相同的箱子中,一组苹果箱子, 可以放入不同的苹果. 一维数组空间: 变量被声明后, 我们

[总结]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