void read_cards(int str_r[],int n,int str_s[],int m)
这样对吗?
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

请问C语言中两个数组作为形参,且需要指出它们的长度。书写格式是?
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
8条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
-iostream- 2018-03-22 18:14关注函数的参数和返回值都不能是数组。如果需要把一个数组提供给函数进行使用,则只能提供数组的首指针,如果需要提供数组的长度,则通常的做法是将数组长度作为另一个int参数提供给函数。例如:
void arr_manager(int * ,int);
int main()
{
int arr[10]; //声明一个int类型的数组
int n=10;
...
arr_manager(arr,n); //或者直接 arr_manager(arr,10);
}
void arr_manager(int * arr,int n)
{
arr[3]=5; //可以直接用数组表示法访问
*(arr+5)=4;
for(int i=0;i<n;i++)
{
...
}
}
反正,简而言之,数组整体是不能作为参数的,但是通过提供数组首地址可以实现传递数组的实际功能。如果不想在函数内部修改数组,出于保护数据的目的,可以将函数参数声明为const 指针,例如:
void arr_manager(const int * arr,int n);
以上都是我辛辛苦苦一个字一个字打的,如果有帮助记得采纳,谢谢。本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容

- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
- 2017-04-13 01:50回答 3 已采纳 把&去掉,因为你穿入的参数多了一维
- 2022-03-26 03:45回答 1 已采纳 你怎么知道他没有解引用呢?根据数组第一个元素的地址值和i的值就能推出arr[i]的地址。
- 2022-11-14 10:16回答 2 已采纳 两者都占用存储单元,形参是函数调用的时候分配地址空间,调用结束就释放了
- 2021-05-21 02:58邢晨悦的博客 判断题1. 函数若无返回值,则它一定无形参。×2. 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。× 3. C程序总是从main( ) 函数的第一条语句开始执行的。... 在C语言中的每个函数必须要有一个明确的retu...
- 2023-01-15 15:57回答 2 已采纳 数组传参只需要写数组名max(a, 5); 这样
- 2021-05-15 07:30回答 2 已采纳 void sort(int **p) { int t; for(int i=0;i<4;i++) for(int j=0;j<4;j++)
- 2013-07-17 07:31回答 4 已采纳 上面的已经分析了原因,中间断断条件有问题,指针越界以后可能不会为null,这时你的判断条件不会终止,所以继续向下执行,导致不确定的后果,最好采用如下形式比较安全: void cmdsend(unsi
- 2022-07-09 13:21NUAA1703的博客 总结了数组及指针数组作为函数参数传入时的所有情况。
- 2016-05-17 08:48回答 4 已采纳 1)void process(uint8_t cube[5][5][5]); 2)void process(uint8_t cube[][5][5]); 3)void process(uint
- 2015-08-29 00:44回答 8 已采纳 C语言中,数据名做函数的参数后,会退化为指针。 没有必要使用指向指针的指针,使用指针就可以了;另外,将是几维数组、和每一维的大小也做为参数传入函数就可以的。
- 2022-06-27 18:38回答 2 已采纳 刚试了怎么传值是可以的,其实字符数组也是指针,这么传理论上没有问题。你可以尝试修改将fname也定义成指针试试char *fname = (char *)malloc(sizeof(char));
- 2020-11-04 01:32zy010101的博客 下面定义一个数组。 int num[3]; 数组名 我们大多数时候都会使用到数组名。但是你真的清楚数组名是什么类型吗? 首先,num[1]毫无疑问是int类型,那么num是什么类型?它到底表示了什么? 在C中,绝大多数时候...
- 2020-12-28 10:31左眼藏只鬼的博客 面对计算机二级C语言的程序操作题是不是无从下手啊?大家不要慌,我们在这里给大家准备了满满的干货。相信DUT们在家里看完一定会收获满满的,面对C语言也将充满了信心!计算机二级c语言考试由单项选择题 40 分(含...
- 2022-10-25 06:28Ephemeral Memories的博客 C语言字符数组、指针总结
- 2023-09-29 05:29gwaan1gin6的博客 将数组作为参数传递给函数,有两种方法(两种方法的本质是一样的,只是书写形式不一样)sizeof(a)——》得到数组a占用内存的大小,单位为字节。a与&a是一样的——》得到数组的地址(数组首元素的地址)调用方式是...
- 2024-10-09 13:48一颗星星辰的博客 使用库函数之前,应该用#include引入对应的...当对一个源文件进行编译时(编译之前),系统将自动调用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。C语言提供了多种预处理功能,如。
- 2021-05-20 09:02许馨元的博客 C语言初学者入门讲座第九讲数组(1)...一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。...
- 没有解决我的问题, 去提问
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司