在C语言中,数组作为参数,是怎样在函数之间传递?

在C语言中,数组作为参数,是怎样在函数之间传递?,第1张

很简单的,数组作为函数参数传递的时候只要是数组名就可以了,因为数组名本身就是数组的首地址 给个程序看看
#include<stdioh>
#define N 3
int array[N][N];
void main()
{
//在主函数内声明被调函数
void convert(int array[][3]);
int i,j;
printf("输入数组:\n");
for(j=0;j<N;j++)
for(i=0;i<N;i++)
scanf("%d",&array[i][j]);
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
printf("%d\t",array[i][j]);
printf("\n");
}
//调用矩阵转置函数
convert(array);
printf("\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d\t",array[i][j]);
printf("\n");
}
}
void convert(int array[][3])
{
int i,j,t;
for(i=0;i<N;i++)
for(j=0;j<N;j++)//设置数组中转置矩阵元素交换
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}

在使用一个函数之前必须先对他进行声明:

//void B();声明B函数的存在。void A(){B();//非法,程序执行到此时并不知道B函数的存在。}void B(){}

或者

#include <stdioh>

#include <stdlibh>

#include <mathh>

int fa(int n)

{

int a;

for(a=2;a<=sqrt(n10),n%a!=0;a++);

if(a>sqrt(n10))

return(1);

else

return(0);

}

void main( )

{

int n,q;

scanf("%d",&n);

扩展资料

#include <stdioh>

#include <stdlibh>

#include <mathh>
int fa(int n)

{

int a;

for(a=2;a<=sqrt(n10),n%a!=0;a++);

if(a>sqrt(n10))

return(1);

else

return(0);

}

void main( )

{

int n,q;

scanf("%d",&n);

if(fa(n)==1)

printf("n");

else

printf("y");

system("pause");

exit(0);

}

参考资料:

百度百科 - C语言函数

不知道你用的是什么开发工具。
用常规开发工具,通常情况下,有以下几种方法:
1、创建你的文件,include 你要调用的函数所在的文件,然后直接调用;
2、创建一个工程文件,将你所要调用函数的文件加载到工程文件中,然后,在你调用的文件中,声明你要调用的函数,然后调用即可;
3、将你要调用的函数所在的文件分离,让其不包含主函数,然后将其单独编译,生成obj文件,通过lib将其有obj文件转换为lib文件,建立单独的声明函数头文件,设置库文件目录,在你要调用的文件中include声明函数头文件,然后调用即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13405124.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存