正文
c语言函数能接收数组吗 c语言函数怎么调用数组
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
c语言函数怎么传数组
C和C++都没有办法传数组,只能传“指针”,指针和数组的差别就在于函数内无法检测数组的尺寸
C语言子函数如何返回一个数组,主函数如何接收?
一般是需要主函数提供保存数据的数组,在参数中给出数组起始地址,然后子函数在其中填充,比如要准会的整数是56
void fun(int *a,int b) { ... }
void main() { int a[20];
fun(a,56);
}
c语言函数怎么调用数组部分
一、数组可定义为全局变量c语言函数能接收数组吗,函数直接调用。
二、数组可定义为局部变量c语言函数能接收数组吗,再通过参数传递到函数中调用(实参传数组名,表示数组首地址,也可通过指针或数组名+数字来传递数组局部地址)。
三、main函数想要调用函数返回的数组,可用static定义静态变量或malloc定义动态数组(字符串常量也可返回使用,但局部变量,在函数调用结束会被释放,不能作为返回地址使用)。
下面是演示代码c语言函数能接收数组吗:
#include stdio.h
#include string.h
#include malloc.h
char str1[]="c语言函数能接收数组吗我是全局变量数组";
char *fun0(char str2[]);
char *fun1();
char *fun2();
int main()
{
char *str3=NULL,*str4=NULL,*str5=NULL;
char str2[]="我是main函数的局部数组变量";
str3=fun0(str2);
printf("str3:%s,fun函数调用结束,我的地址依然可以使用\n",str3);
str4=fun1();
printf("str4:%s,fun函数调用结束,我的地址依然可以使用\n",str4);
str5=fun2();
printf("str5:%s,fun函数调用结束,函数结束不会自动释放\n",str5);
free(str5);
return 0;
}
char *fun0(char s[])
{
static char str3[]="我是fun函数申明的静态数组变量";
printf("str1:%s,fun函数可以直接调用\n",str1);
printf("str2:%s,fun函数通过参数将我的地址传进来\n",s);
return str3;
}
char *fun1()
{
char *str4="我是fun1函数的字符串常量";
return str4;
}
char *fun2()
{
int len;
char sTemp[]="这是一个临时数组,之后用于给mallc申请的地址传值,传递内容为:(我是fun函数通过mallic申请的数组)";
char *str5=NULL;
len=strlen(sTemp+63);
str5=(char *)malloc(sizeof(char)*len+1);
if(!str5)return NULL;
strcpy(str5,sTemp+63);
str5[len-2]=0;
return str5;
}
c语言中函数能返回一个数组吗
在C语言中c语言函数能接收数组吗,无法直接返回一个数组c语言函数能接收数组吗,但是可以通过返回对应类型指针c语言函数能接收数组吗的方式,返回数组。
在大多数情况下,一维数组和一维指针是可以通用的。
比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。如出错,返回空指针NULL。 代码可以写成如下形式c语言函数能接收数组吗:
int *int_array_create(int n)//参数n为数组元素个数
{
int *r;
if(n=0) return NULL;//参数错误
r = (int *)malloc(sizeof(int)*n);//申请内存空间,大小为n个int长度。
return r;//返回得到的整型数组的指针。
}
c语言数组在函数中的传递
c语言中、数组在函数中的传递可以数组元素的传递!还有就是数组名的传递!其实、数组名的传递类似指针!就是把数组的元素的首地址传到形参的!
c语言中怎么接收一的数组,在写程序前不知道这数组的大小,并且后面有对这数组的操作!!!
接受数组的方法很多1维数组a[]你可以
func(int *a);
func(int a[]);
func(int a[10]);
这3中方法的是没区别的,
但是要在函数中获取一位数组的长度是不可能的,这是C/C++的一个无法解决的问题。你可以再定义一个形参限定一下对数组操作的大小,
比如func(int *a,int N);
这样的前提是你要知道你所操作数组必须长度小于N
关于c语言函数能接收数组吗和c语言函数怎么调用数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。