c语言用函数创建数组 c语言用函数创建数组吗

c语言函数怎么调用数组部分

一、数组可定义为全局变量,函数直接调用。

创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为清河企业提供专业的成都网站设计、网站制作,清河网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

二、数组可定义为局部变量,再通过参数传递到函数中调用(实参传数组名,表示数组首地址,也可通过指针或数组名+数字来传递数组局部地址)。

三、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;

}

C语言,在函数里要输入一个数组怎么办

用指针就可以了,如

定义有int a[5];

则这样定义函数:

int fun(int *p, int size)

{

//p为数组的首地址

//size为数组的大小

//传递进去后可以像操作a一样用下标操作p

//如p[0], p[4]...

}

传递参数给函数可以这样写:

fun(a, 5);

若是多维数组,则第一维大小不给出,只指定后面的维数大小,如:

定义有int a[5][2];

则这样定义函数:

int fun(int p[][2], int size)

{

//p为数组的首地址

//size为第一维的大小

//传递进去后可以像操作a一样用下标操作p

//如p[0][1], p[4][1]...

}

传递参数给函数可以这样写:

fun(a, 5);

C语言怎样循环创建数组

#include stdio.h

#includestdlib.h

struct s

{int a[2];

struct s *next;

}; //定义了一个结构体

main()

{ int i=0;

struct s *head,*p;

head=p=(struct s *)malloc(sizeof(struct s));//开辟一个新单元

for(i=0;i2;i++) //定i2,(如果你想要100个数组,i 就等于100)类似于你定义了2个一维数组

{

scanf("%d",p-a);

p=p-next=(struct s *)malloc(sizeof(struct s));

}

p=head;//使p指针指向第一个数组

printf("%d\n",p-a[0]);//如果你想看第二个数组里的a[0]的数值改成(p-a[0])+1。

}

用C语言编写,在主函数中定义一个数组a[50].定义一个函数为数组赋值,再定义一 函数输出数组中各

#include stdio.h

void input(int a[],int n){

int i;

for (i=0;in;i++) scanf("%d",a[i]);

}

void print(int a[],int n){

int i;

for (i=0;in;i++) printf("%d\t",a[i]);

}

void main(){

int a[50];

input(a,50);

print(a,50);

}


分享题目:c语言用函数创建数组 c语言用函数创建数组吗
文章URL:http://myzitong.com/article/hpdhdg.html