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函数,其他没有说明的函数,会在后面写到类和面向对 ...
随机推荐
- oculus 安装其他盘方法
把安装文件OculusSetup.exe安装到D盘(默认直接按C盘) D:\softbackup\OculusSetup.exe /drive=D
- windows11 安装跳过互联网验证
按住shift+F10 cmd 输入 OOBE\BYPASSNRO 电脑重启后 出现 跳过得按钮
- 微信小程序if for
1.控制代码的显示隐藏 1.wx:if="{{}}"判断是否需要渲染代码 <view wx:if="{{tiaojian===1}}">显示1< ...
- Matplotlib 轴标签和标题
我们可以使用 xlabel() 和 ylabel() 方法来设置 x 轴和 y 轴的标签. 实例 import numpy as np import matplotlib.pyplot as plt ...
- 华为MA5626和S2700重置密码
MA5626和S2700交换机,初始化密码遇到的问题. 主要目的把两台设备改成普通二层交换机. 一.MA5626交换机 1.进入设备,发现有密码. 帐号:root 密码:mduadmin 2.使用空配 ...
- Neo4j插件安装
Neo4j插件安装 Author:wss Date:2022.6.9 Topic:Neo4j插件安装 一.前言 昨天再次安装Apoc插件,又去找之前看的教程,有些地方不够清晰要几个教程对比着看,想到可 ...
- golang运算符
1.算术运算符 算术运算符有:+,-,*,/,%,++,-- 1.1 加号(+) 表示正数 数字相加 字符串拼接 package main import ( "fmt" ) fun ...
- 浅谈storm
storm分布式,可容错的实时计算框架,低延迟能做到毫秒级的响应,storm进程是常驻内存,Hadoop是不断启停的,storm中的数据不经过磁盘,都在内存中,处理完成后就没有了,但是可以写到数据库中 ...
- Redis Stack(生产适配-仅提供 Redis Stack 服务器) (6.2.4-v2版本)
一.使用docker安装(生产适配-仅提供 Redis Stack 服务端) (6.2.4-v2版本) 简介 安装命令根据实际部署情况调整 版本地址:官方镜像主页 | 发布版Tags 指定版本命令-推 ...
- 新手搭建Git与项目整合
新手搭建Git,将代码托管到码云 如果你还没有使用过Git,首先先去https://gitee.com/注册一个自己的账户,然后在https://git-scm.com/下载一个客户端(提交代码到码云 ...