请教:怎么将一个数组作为参数传递到一个函数中

yunwuxin009 2012-06-18 09:10:18

请问怎么将一整个数组作为参数传递给一个函数,试了好几次,都只能传递数组中的一个值
最好能有简单的代码,谢谢
...全文
402 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
篾匠 2012-06-19
  • 打赏
  • 举报
回复
这个问题不用拿这里来问吧, 应该看书去
pathuang68 2012-06-19
  • 打赏
  • 举报
回复
传数组的首地址,以及数组中元素的个数就可以了。参考下面的代码:

#include <stdio.h>

void test_fun(int* arr, int n)
{
int i;
for(i = 0; i < n; ++i)
{
printf("%d\n", *(arr + i));
}
}

int main()
{
int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
test_fun(arr, sizeof(arr) / sizeof(int));

return 0;
}
dklovemyth 2012-06-19
  • 打赏
  • 举报
回复
数组名字就是数组地址啊 可以直接传数组名字。。
比如:
int a[10] = {0};
s32ret = fun(a);
实现的函数如下面:
int fun(*b);
蔡袅 2012-06-19
  • 打赏
  • 举报
回复
指针嘛,数组首地址
疯疯癫癫 2012-06-19
  • 打赏
  • 举报
回复
数组名字就是数组地址
fzamygsd 2012-06-19
  • 打赏
  • 举报
回复
数组不能作为实体传送

要传递首地址。。
继续奋战 2012-06-19
  • 打赏
  • 举报
回复
C语言里没有引用是不是...
继续奋战 2012-06-19
  • 打赏
  • 举报
回复
如果我说错了,希望有人看到了能指教,谢谢
继续奋战 2012-06-19
  • 打赏
  • 举报
回复
传递数组的引用也可以偶!
代码供参考:

#include<iostream>

using namespace std;

void printarr(int (&arr)[5])
{
for(size_t i=0;i!=5;++i)
{
cout<<arr[i]<<" ";
}
cout<<endl;
}

void main()
{
const int MAX_SIZE=5;
int arr[MAX_SIZE]={1,2,3,4,5};
printarr(arr);
}
embed_rookie 2012-06-19
  • 打赏
  • 举报
回复
传递数组的首地址,也就是数组名就行。
AnYidan 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

这个问题不用拿这里来问吧, 应该看书去
[/Quote]

互联网时代,都认为问人比看书快
AnYidan 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

这个问题不用拿这里来问吧, 应该看书去
[/Quote]

互联网时代,都认为问人比看书快
Binzo 2012-06-18
  • 打赏
  • 举报
回复
声明 void fun(int a[]);

调用 int data[100] = {0};
fun(data);

tongzhipeng5699 2012-06-18
  • 打赏
  • 举报
回复
数组做参数传递只是将首地址传进去,需要再将数组的大小作为第二个参数传入,这样有了首地址和长度就可以确定一个数组了

void fun(int a[],int size) {
int i=0;
for(i=0;i<size;i++)
printf("%d ",a[i]);
printf("\n");
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧