c语言函数定义中有数组 c语言函数里定义数组

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语言中自定义的函数中有数组 , 应该如何运用该函数方法
有2
将该数组定义为全局变量,即:
int
g_arr;
void
fun()
{...}
void
main()
{...}
2.将该数组作为函数参数传递到自定义函数里,即:
void
fun(int
arr[])
{...}
void
main()
{
int
arr[10];
fun(arr);
}
C语言中如何定义数组C语言中,同变量一样;数组也必须先定义后使用 。
一维数组的定义形式:
类型标识符数组名[常量表达式];例如int a[10];其中a为地址常量 。
如变量的定义一样 , int a ;double a;float a等;数组的定义只是把后面的变量名改为数组名而已 。
int a[10]就是定义了一个数组名为a的数组;此数组有10个元素 。其中各元素从a[0]到a[9];并没有a[10]元素 。下面列举一个 。
扩展资料
常量表达式可以包括字面常量和符号常量;但不能包含变量 。例如对下面定义是错误的
int n=5
int a[n]
可以修改为
#define N 5
int a[N]
其中对二维及多位数组定义可以类推
inta[x][y][z][...]其中 x,y,z为数字 。
参考资料
百度百科-C语言
【c语言函数定义中有数组 c语言函数里定义数组】关于c语言函数定义中有数组和c语言函数里定义数组的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读