void read_cards(int str_r[],int n,int str_s[],int m)
这样对吗?
请问C语言中两个数组作为形参,且需要指出它们的长度。书写格式是?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
8条回答 默认 最新
- -iostream- 2018-03-23 02: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);
以上都是我辛辛苦苦一个字一个字打的,如果有帮助记得采纳,谢谢。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 用verilog实现tanh函数和softplus函数
- ¥15 求京东批量付款能替代天诚
- ¥15 slaris 系统断电后,重新开机后一直自动重启
- ¥15 51寻迹小车定点寻迹
- ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
- ¥15 关于vue2中methods使用call修改this指向的问题
- ¥15 idea自动补全键位冲突
- ¥15 请教一下写代码,代码好难
- ¥15 iis10中如何阻止别人网站重定向到我的网站
- ¥15 滑块验证码移动速度不一致问题