zoukankan      html  css  js  c++  java
  • 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); /*外部函数定义*/    
    {    
    ……    
    }    

  • 相关阅读:
    Java 9.10习题
    Java同步synchronized与死锁
    Java线程操作方法
    Java多线程
    Java——private default protected public访问控制权限
    Java——jar命令
    Java导包——import语句
    ubuntu删除输入法后,循环登陆
    ubuntu下Eclipse安装
    Java——包的概念及使用
  • 原文地址:https://www.cnblogs.com/jikexianfeng/p/5875166.html
Copyright © 2011-2022 走看看