十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、数组可定义为全局变量,函数直接调用。
在什邡等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站建设 网站设计制作按需设计网站,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站建设,外贸网站建设,什邡网站建设费用合理。
二、数组可定义为局部变量,再通过参数传递到函数中调用(实参传数组名,表示数组首地址,也可通过指针或数组名+数字来传递数组局部地址)。
三、main函数想要调用函数返回的数组,可用static定义静态变量或malloc定义动态数组(字符串常量也可返回使用,但局部变量,在函数调用结束会被释放,不能作为返回地址使用)。
下面是演示代码:
#include stdio.h
#include string.h
#include malloc.h
char str1[]="我是全局变量数组";
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;
}
给你看一下我的代码
#includestdio.h
void main(){
int a[10],b[10],i,j,temp;
for(i=0;i10;i++){
printf("请输入第%d个数:",(i+1));
scanf("%d",a[i]);
//保存数组,因为输入完数组要冒泡排序,排序后的元素顺序可能和原数组不一样
b[i]=a[i];
}
//冒泡排序,求最大值
for(i=0;i9;i++){
for(j=0;j9-i;j++){
if(a[j]a[j+1]){ //这里控制的升序还是降序,我这是降序
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
//查找最大值在原数组的位置
for(i=0;i10;i++){
if(b[i]==a[0]){ //降序的话最大值是a[0],升序的话最大值是a[9]
break; //一旦找到最大值,马上跳出循环
}
}
printf("最大值是%d,它在原数组中是第%d个元素!\n",a[0],(i+1));
}
形参,可以是数组也可以是指针,形参变量名不需要和实参一样,所以可不使用a做变量名。但数组传参,传的地址,即使闭实参和形参名不一样,操作的地址都是一样的。
方法
有2
将该数组定义为全局变量,即:
int
g_arr;
void
fun()
{...}
void
main()
{...}
2.将该数组作为函数参数传递到自定义函数里,即:
void
fun(int
arr[])
{...}
void
main()
{
int
arr[10];
fun(arr);
}
程序没问题,你想问什么,是什么地方不懂吗,不懂的地方标出来!
1、新建一个数组作为参数项目,如图所示:
2、添加一个array.c文件,如图所示:
3、包含stdio.h和stdlib.h头文件,如图所示:
4、输入main函数主体及返回值,如图所示:
5、定义一个数组arr,如图所示:
6、定义一个function函数,如图所示:
7、将数组作为参数传递给function函数,如图所示:
8、运行程序,输出结果,如图所示: