189 8069 5689

c语言定义函数输出数组,数组的输出c语言

c语言函数返回数组?

在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组。

我们提供的服务有:成都网站设计、成都网站制作、微信公众号开发、网站优化、网站认证、可克达拉ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的可克达拉网站制作公司

在大多数情况下,一维数组和一维指针是可以通用的。

比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。如出错,返回空指针NULL。 代码可以写成如下形式:

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语言数组的输出函数

#include

"stdio.h"

void

input(int

a[10])

//给一维数组输入数据

{

int

i;

for(i=0;i10;i++)

scanf("%d",a[i]);

}

void

output(int

a[10])

//输出一维数组输入数据

{

int

i;

for(i=0;i10;i++)

printf("%d

",a[i]);

}

int

main()

{

int

b[10];

input(b);

//调用input函数给数组b赋值

output(b);//调用output函数输出数组b中的值

}

c语言中,定义一个函数,函数输出结果是一个数组,整个的形式是怎么样的?

提供两个办法:

1.在主调函数中建立数组,将数组指针传给自定义的函数,处理后主调函数中的数组值也就变化了。

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

........

}//其中a[]就是要输入的数组,n是这个数组的长度。

void main(void){

int arry[10]={1,2,3,4,5,6,7,8,9,0};

fun(arry,10);

......

}

2.可以在主调函数中建立数组并把首地址和长度传给函数,在函数中创建一个动态数组,处理完后把动态数组的首地址返回主调函数,最后在主调函数中释放动态申请的内存。

int *fun(int a[],int n){

int *p=(int *)malloc(n*sizeof(int));//申请内存.

if(!p){//判断是否申请成功.

printf("failure...");

exit(0);

}

memcpy(p,a,n*sizeof(int));//把主调函数的数组拷贝过来.

......

return p;

}

void main(void){

int arry[10]={1,2,3,4,5,6,7,8,9,0},*ptmp;

ptmp=fun(arry,10);

......

free(ptmp);//释放申请的空间.

}

数组的内容是不能一一传给函数的……

C语言如何用一个自定义函数打印一个二维数组

二维数组无法作为参数直接传递给函数,但是可以利用二维数组内部数据的连续性,将二维数组的地址按照一维数组的方式传递给函数,并传入对应的行列数,从而实现函数内打印二维数组的效果。

以整型为例,具体方式如下:

void print_array(int *a, int m, int n)//a为一个m行,n列的二维数组的首地址。

{

int i, j;

for(i = 0; i  m; i ++)

{

for(j = 0; j  n; j ++)

{

printf("%d,", a[i*n+j]);//a[i*n+j]也就是原始二维数组第i行第j列的元素。

}

printf("\n");//每行结束输出换行。

}

}


新闻标题:c语言定义函数输出数组,数组的输出c语言
浏览路径:http://jkwzsj.com/article/dsgcooh.html

其他资讯