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__:表示当前源代码的行号;
c++ 函数篇的更多相关文章
- PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载 中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...
- Python函数篇(5)-装饰器及实例讲解
1.装饰器的概念 装饰器本质上就是一个函数,主要是为其他的函数添加附加的功能,装饰器的原则有以下两个: 装饰器不能修改被修饰函数的源代码 装饰器不能修改被修改函数的调用方式 装饰器可以简单的理 ...
- Python函数篇(7)-正则表达式
1.正则表达式 正则表达式为高级的文本模式匹配,抽取,与/或文本形式的搜索和替换功能提供了基础,简单的来说,正则表达式是由一些字符和特殊符号组成的字符串.Python通过标准库中的re模块来支持正 ...
- Scala进阶之路-Scala函数篇详解
Scala进阶之路-Scala函数篇详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.传值调用和传名调用 /* @author :yinzhengjie Blog:http: ...
- C语言函数篇(二)函数参数基础设计
形参实现一种数据传入的接口 ,由 实参 拷贝给 形参. 拷贝!!!!!!!!!!! 例1: void func(int tmp){ //意图是实现传进来的参数 +1 tmp++; } int mian ...
- 30s源码刨析系列之函数篇
前言 由浅入深.逐个击破 30SecondsOfCode 中函数系列所有源码片段,带你领略源码之美. 本系列是对名库 30SecondsOfCode 的深入刨析. 本篇是其中的函数篇,可以在极短的时间 ...
- 《前端之路》- TypeScript(二) 函数篇
目录 一.定义函数方法 二.定义函数传参 三.可选传参 四.默认传参 五.传递剩余参数 六.函数重载 七.箭头函数 八.总结 一.定义函数方法 在 es5 中定时函数的方法有 命名函数和函数表达式(匿 ...
- JavaScript进阶之高阶函数篇
JavaScript进阶之高阶函数篇 简介:欢迎大家来到woo爷说前端:今天给你们带来的是JavaScript进阶的知识,接下来的系列都是围绕着JavaScript进阶进行阐述:首先我们第一篇讲的是高 ...
- 通过实战理解C语言精要——函数篇
前言 本篇博客是对C语言函数部分的重点内容和细枝末节通过实战得到的经验的总结精炼,不涵盖C语言函数的全部内容,所有提炼内容均来自提炼与实战,阅读需要对函数部分有一定基础,可用于对C语言函数的理解提 ...
- Python函数篇(3)-内置函数、文件处理
1.内置函数 上一篇文章中,我重点写了reduce.map.filter3个内置函数,在本篇章节中,会补充其他的一些常规内置函数,并重点写max,min函数,其他没有说明的函数,会在后面写到类和面向对 ...
随机推荐
- Angular 利用路由快照实现tab
1.定义路由快照 新建文件SimpleReuseStrategy.ts import { RouteReuseStrategy, DefaultUrlSerializer, ActivatedRout ...
- Java学习笔记(一)环境安装与java基础
学习笔记01 两年前学的Java,现在已经忘得差不多了,跟着狂神说Java的视频从头开始学,希望能救一救ww 一.JDK JRE JVM 1. JDK java development kit 2. ...
- CMT: Convolutional Neural Networks Meet Vision Transformers概述
0.前言 相关资料: arxiv github 论文解读(CSDN,CSDN) 论文基本信息: 作者单位:华为诺亚, 悉尼大学 发表时间:CVPR2022(2021.7.13) 1.针对的问题 当前将 ...
- KCL v0.4.5 发布 - 更好的编写便利性改进,稳定性,体验提升与多平台支持
简介 KCL 团队很高兴地宣布 KCL v0.4.5 版本现在已经可用!本次发布主要为 KCL 语言编写便利性和稳定性提升,错误信息改进以及更多平台包括 windows 版本支持以及更多下载方式支持. ...
- 前端如何给bearer token传值
Bearer token是一种常见的身份验证机制,通常用于Web API和其他Web服务.在前端中,Bearer token通常是通过HTTP头(HTTP header)发送的,具体来说是通过&quo ...
- 前端记录:树形插件zTree 和 表格扩展 tableX
树形插件zTree 表格扩展 tableX 项目实例 [地区联动实现_前端] <title>区域设置</title> <!--当前位置开始--> <div c ...
- 关于Python 面向对象寻值的问题. How the number be found in the OOP in Python
今天在看Python面向对象的时候看到了一个很有意思的问题 Today. When i learning the OOP in python , I found a very interesting ...
- 记录一次mybatis中parameterType中使用String和string的区别
今天修改一个问题. xml中使用的是#{xxxx jdbcType=String} 但是这个sql 查询需要用到 in 如果这样查询 会变成 in ( "1,2,3,4,5" ...
- vue重置data数据为初始状态
vue中: this.$data 获取当前状态下的data this.$options.data() 获取该组件初始状态下的data 所以,下面就可以将初始状态的data复制到当前状态的data,实现 ...
- Firefox几个必备的插件
翻译网页 使用 Google 或 Yandex 实时翻译您的页面. Dualsub 通用字幕渲染器 Gesturefy 具有大量自定义功能的鼠标手势扩展,令浏览和操作更加便捷迅速. AdBlocker ...