C语言数组在函数中的调用与传递方法解析
c语言函数怎么调用数组部分
1.数组可以定义为全局变量,可以直接调用函数。
2.可以将数组定义为局部变量,然后通过参数传递给函数(实际参数是数组名,表示数组的首地址,或者传递指针或数组的数组的局部地址)。
姓名+号码))。
3.如果主函数要调用函数返回的数组,可以使用static定义静态变量,也可以使用malloc定义动态数组(字符串常量也可以返回使用,但局部变量会在函数调用结束时释放)不能用作退货地址)。
演示代码如下:
#include
#include
#include
charstr1[]="我是全局变量数组";
char*fun0(charstr2[]);
char*fun1();
char*fun2();
intmain()
{
char*str3=NULL,*str4=NULL,*str5=NULL;
charstr2[]="我是主函的局部数组变量";
str3=fun0(str2);
printf("str3:%s,fun函数调用结束,我的地址仍然可以使用\n",str3);
str4=fun1();
printf("str4:%s,fun函数调用结束,我的地址仍然可以使用\n",str4);
str5=fun2();
printf("str5:%s,函数调用愉快结束,函数不会自动释放\n",str5);
free(str5);
return0;
char*fun0(chars[])
{
staticcharstr3[]="我是函数fun声明的静态数组变量”;
printf("str1:%s,函数fun可以直接调用\n",str1);
printf("str2:%s,函数fun通过参数传递我的地址\n",s);
returntr3;
char*fun1()
{
char*str4="I'mahappyperson1函数String常量";
返回abouttr4;
char*fun2()
{
intlen;
charsTemp[]=“这是一个临时数组,稍后将用于将值传输到mallc申请的地址。
传输的内容为:(I为通过mallic进行fun操作申请的数组)";
char*str5=NULL;
len=strlen(sTemp+63);
str5=(char*)malloc(sizeof(char)*len+1);
if(!str5)returnNULL;
strcpy(str5,sTemp+63);
str5[len-2]=0;
returnstr5;
c语言里子函数如何调用主函数数组,如下面这个如何修改
#includeinti,j,tmp=1;//正确的赋值方法for(i=0;i