c语言之函数参数传递之数组篇

在VC中写程序都习惯了,一般数组作为函数实参时,最常用的方法就是引用和指针的方法,但是到C语言中就没有引用了,还有一种比较常用的方法:

#include  < stdio.h >


void  sort( int  array[], int  n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k
=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k]) k=j;
t
=array[k];array[k]=array[i];array[i]=t;

}


}


int  main( void )
{
int a[10],i;
printf(
"enter the array ");
for(i=0;i<10;i++)
scanf(
"%d",&a[i]);
sort(a,
10);
printf(
"the sorted array: ");
for(i=0;i<10;i++)
printf(
"%d ",a[i]);
}





}

 

这是谭浩强书上的一段例子,选择法对数组进行排序,据说这个算法要比冒泡法快,有机会用vtune测下,这里比较关键是形参的写法 int array[],实际上就相当于指针或引用。

下面是关于局部变量和全局变量的东东

有时在程序设计中希望某些外部变量只限于被本文件引用,而不能被其他文件引用。这时可以在定义外部变量时加一个static声明。

 (static)内部函数   

  如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能被同一源程序其它文件中的函数调用, 这种函数称为内部函    
数。定义内部函数的一般形式是: static 类型说明符 函数名(形参表) 例如:   
static int f(int a,int b) 内部函数也称为静态函数。但此处静态static 的含义已不是指存储方式,而是指对函数的调用范围只局限于本文件。 因此在不同的源文件中定义同名的静态函数不会引起混淆。   

外部函数   
  外部函数在整个源程序中都有效,其定义的一般形式为: extern 类型说明符 函数名(形参表) 例如:   
extern int f(int a,int b)如在函数定义中没有说明extern或static则隐含为extern。在一个源文件的函数中调用其它源文件中定义的外部函数时,应 用extern说明被调函数为外部函数。例如:   
F1.C (源文件一)   
main()   
{   
extern int f1(int i); /*外部函数说明,表示f1函   
数在其它源文件中*/   
……   
}   
F2.C (源文件二)   
extern int f1(int i); /*外部函数定义*/   
{   
……   
}   

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值