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);
以上都是我辛辛苦苦一个字一个字打的,如果有帮助记得采纳,谢谢。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报