c++ 函数篇

1.函数是什么样子:

dataType  functionName( dataType1 param1, dataType2 param2 ... ){//do something }//形式参数param...

2.什么是形式参数,什么是实际参数?

declareFunc(num1 , num2); //实际参数 num1,num2

3.函数声明

dataType  functionName( dataType1 param1, dataType2 param2 ... );//此处加分号

对于多个文件的程序,通常是将函数定义放到源文件(.c文件)中,将函数的声明放到头文件(.h文件)中,使用函数时引入对应的头文件就可以,编译器会在链接阶段找到函数体。

在所有函数外部定义的全局变量的作用域默认是所有的源文件。

 

4.函数如何传递不同类型的参数

  1.基本类型 ,复制变量的值给形参的形式传递。

    double avarage(double a , double b){return (a+b)/2;}

    int main() {
        double num1 = 343.456;
        double  num2 = 789.126;
        std::cout << "result is "<<avarage(num2,num1) << std::endl; //即在执行时赋值 a = num1;b=num2 //result is 566.291
    }

    2.类实例和数组,传递指针或者引用。

传递数组:
int
avarageArr(int arr[], int size){//传递指针和数组大小。 int sum=0; for(int i =0;i<size;i++){ sum+= arr[i]; }; return sum/size; } int main() { int arr[3]= {1,2,3}; cout <<"result is "<<avarageArr(arr,3) << endl; return 0; }
传递对象:
struct
Book_data{ std::string No; }; int main() { Book_data s1;//实例化 s1.No = "1-xd-b-3";//给s1赋值 printBookNo(s1);//传递引用 || &s1传递地址 return 0; } void printBookNo(Book_data &bookRef){ //绑定引用给参数,相当于&bookRef = s1 || *bookPointer指针接收地址 std::cout << bookRef.No<< std::endl;// || bookPinter->No 使用指针获取
 }

   5.花括号定义作用域。

  double num1 = 343.456;
  if(num1>0){
      double num1 = 789.12;
      cout<< num1 <<endl;//789.12
  }
    cout<< num1 <<endl;//343.456

  6.#define(宏定义命令),用一个标识符来表示一个任意的字符串,如果代码中使用该标识符,那么该标识符就都替换成设置的字符串。

#define N 20 //不要加分号,加上分号会被连分号一起换出去。
int main() {
        int sum = 7 + N;
        printf("%d\n", sum);//27
        return 0;
}

   7.内置预定义宏

    printf("Date : %s\n", __DATE__);//__DATE__:表示当前的编译日期;
   printf("Time : %s\n", __TIME__);//__TIME__:表示当前的编译时间;
    printf("File : %s\n", __FILE__);//__FILE__:表示当前源文件的名称;
    printf("Line : %d\n", __LINE__);//__LINE__:表示当前源代码的行号;

 

原文链接: https://www.cnblogs.com/xinfangzhang/p/12511813.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    c++ 函数篇

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/335871

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午10:21
下一篇 2023年3月1日 下午10:21

相关推荐