请问:如何将一个数组作为参数传递到一个函数中
请教:怎么将一个数组作为参数传递到一个函数中
请问怎么将一整个数组作为参数传递给一个函数,试了好几次,都只能传递数组中的一个值
最好能有简单的代码,谢谢
------解决方案--------------------
http://topic.****.net/t/20040828/23/3319216.html
------解决方案--------------------
数组做参数传递只是将首地址传进去,需要再将数组的大小作为第二个参数传入,这样有了首地址和长度就可以确定一个数组了
void fun(int a[],int size) {
int i=0;
for(i=0;i<size;i++)
printf("%d ",a[i]);
printf("\n");
}
------解决方案--------------------
声明 void fun(int a[]);
调用 int data[100] = {0};
fun(data);
------解决方案--------------------
数组名字就是数组地址啊 可以直接传数组名字。。
比如:
int a[10] = {0};
s32ret = fun(a);
实现的函数如下面:
int fun(*b);
------解决方案--------------------
传数组的首地址,以及数组中元素的个数就可以了。参考下面的代码:
请问怎么将一整个数组作为参数传递给一个函数,试了好几次,都只能传递数组中的一个值
最好能有简单的代码,谢谢
------解决方案--------------------
http://topic.****.net/t/20040828/23/3319216.html
------解决方案--------------------
数组做参数传递只是将首地址传进去,需要再将数组的大小作为第二个参数传入,这样有了首地址和长度就可以确定一个数组了
void fun(int a[],int size) {
int i=0;
for(i=0;i<size;i++)
printf("%d ",a[i]);
printf("\n");
}
------解决方案--------------------
声明 void fun(int a[]);
调用 int data[100] = {0};
fun(data);
------解决方案--------------------
数组名字就是数组地址啊 可以直接传数组名字。。
比如:
int a[10] = {0};
s32ret = fun(a);
实现的函数如下面:
int fun(*b);
------解决方案--------------------
传数组的首地址,以及数组中元素的个数就可以了。参考下面的代码:
- C/C++ code
#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; }
------解决方案--------------------
数组不能作为实体传送
要传递首地址。。
------解决方案--------------------
数组名字就是数组地址
------解决方案--------------------
指针嘛,数组首地址
------解决方案--------------------
传递数组的首地址,也就是数组名就行。
------解决方案--------------------
传递数组的引用也可以偶!
代码供参考:
- C/C++ code
#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); }