C语言编写函数包含数组 C语言中数组的使用

C语言中自定义的函数中有数组,应该如何运用该函数

方法

10年积累的网站制作、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有上杭免费网站建设让你可以放心的选择与我们合作。

有2

将该数组定义为全局变量,即:

int

g_arr;

void

fun()

{...}

void

main()

{...}

2.将该数组作为函数参数传递到自定义函数里,即:

void

fun(int

arr[])

{...}

void

main()

{

int

arr[10];

fun(arr);

}

C语言定义一个函数如果含有数组

void min(int a[],int x) //int x是用来标记传过来的数组的长度(即a数组指向的那个数组的长度)。

因为你在函数中计算的时候,a只能当做一个指针来用,没有具体的长度,而且你是int 型的,所以没有标准库函数来求你需要计算的数组的长度,所以你就没法计算。

void min(int a[],int b[])这样计算没错误,但是在计算的时候,你要知道a所指向的数组的长度和b所指向的长度,例如下面的例子:

a数组中有10个数,b数组中有2个数,a数组的大小是40个字节,而指向他的c数组大小只有4个字节,所以当你运算的时候,你要知道c指向的a数组的大小,同理,d也是一样。

#include"stdio.h"

#include"string.h"

void min(int c[],int d[])

{

int i,j=0;

int e[100]={0};

printf("c=%d\n",sizeof(c));

for(i=0;i10;i++) //a数组中有10个数

e[j++]=c[i];

for(i=0;i2;i++) //b数组中有2个数

e[j++]=d[i];

for(i=0;e[i];i++)

printf("%d\t",e[i]);

}

main()

{

int a[10]={1,2,3,4,5,6,7,8,9,10};

int b[2]={3,4};

printf("a=%d\n",sizeof(a));

min(a,b);

}

C语言中怎样定义一个函数里面有数组然后在主函数中调用这个数组

你可以返回s数组的首地址,函数可以这么定义:

int* f1(int a[], int n, int k)

{

....//你的代码

return s;

}


文章名称:C语言编写函数包含数组 C语言中数组的使用
当前URL:http://pwwzsj.com/article/hicchg.html