打卡8.18

今日学习内容:条件运算,逗号运算,初见函数,函数的定义、使用,从函数中返回,函数原型,参数传递,本地变量

链接:( 暂无 我看完下部分再一起做 )

笔记:

1.初见函数

代码复制:程序质量不良的表现
求和函数

#include <stdio.h>

//求和函数
void sum(int begin, int end)
{
	int i;
	int sum = 0;
	for (i = begin; i <= end; i++)
	{
		sum += i;

	}
	printf("%d到%d的和是%d.\n", begin, end, sum);
}

int main()
{
	sum(1, 10);
	sum(20, 30);
	sum(35, 45);

	return 0;
}
2.函数的定义和使用

定义:能接收零个或多个参数,做一件事,返回零个或一个值

函数定义:在这里插入图片描述
函数名(参数值) ()调用函数,so即使没有参数也要()否则会认为你没使用该函数
没有()标记,这就 只是一个变量
有参数:要给出right数量、顺序
值会被按顺序依次初始化函数中的参数,且函数知道每次是哪里在调用它,so会返回正确的地方
如果函数要返回一个结果,用return返回调用它的地方

3.从函数中返回值
  • return ;
  • return 表达式 ;
    一个函数中可出现多个return且不一定要放在最后(但不符合单一出口理念,可以但是不好,难改)
    作用
  • 赋值给变量
  • 再传递给函数
  • 可丢弃
    没有返回值的函数
  • void 函数名(参数表)
  • 不能用带值的return
  • 可无return
  • 调用时不能做返回值的赋值
    函数有返回值,必须用带值的return
4.函数原型

函数先后关系:在这里插入图片描述
在这里插入图片描述
声明不是函数,先声明,使用与定义谁先谁后都行,在定义时还会自己判断定义与声明是否一致(若不一致则会报错冲突)
函数原型:告诉编译器函数长啥样

  • 名称
  • 参数
  • 返回类型
  • 现在一般写在调用它的函数前面
  • 参数写不写都行,有类型就🆗(只检查类型,不检查参数名称)
    “函数头 ;”
5.参数传递

可传递给函数的值是表达式的结果(包括字面量 、 变量 、 函数返回值 、 计算结果)
调用函数本身就是个表达式(编译器好像家长,偷偷帮你解决问题,虽然有时候会出错)
C语言调用函数时,只能传值给函数
传值在这里插入图片描述

6.本地变量:

在这里插入图片描述
生存期:变量出现、消亡的时候
作用域:访问该变量的范围( 变量可以起作用)

  • 本地变量定义在块内
  • 它可定义在函数、语句的块内甚至随便一对大括号来定义变量
  • 程序运行进块前,其他变量不存在,离开则其中变量消失
  • 块外定义的变量在内仍有效,块里定义了与外同名的变量会掩盖外的
  • 不在同一块内定义同名变量
  • 本地变量不会被默认初始化 而参数在进入函数时就被初始化
    在这里插入图片描述
Elasticsearch 8.18 是一个重要的版本更新,带来了多项新功能、改进和优化,以增强其作为分布式搜索和分析引擎的能力。以下是一些关键的更新亮点: ### 新功能 - **原生连接 (Native Joins)** Elasticsearch 8.18 引入了 LOOKUP JOIN 这一新的 ES|QL 命令,用于执行左连接 (left joins),以增强数据的查询能力。该功能允许用户根据定义的匹配标准,将一个索引中的文档与另一个索引中的文档进行组合和查询。这种动态关联方式在查询时进行跨索引文档的关联,减少了数据冗余,提高了数据管理效率[^2]。 - **向量搜索增强** 8.18 版本进一步增强了向量数据库功能,支持更大规模的向量数据存储与检索,优化了向量相似性搜索的性能,使得在推荐系统、图像检索等场景中的应用更加高效。 - **增强的 REST API** 新版本对 REST API 进行了多项增强,包括更灵活的查询参数、更高效的响应格式以及更好的错误处理机制,提升了开发者的使用体验。 ### 性能改进 - **查询性能优化** 在 8.18 版本中,Elasticsearch 对查询执行路径进行了优化,减少了不必要的计算和内存分配,从而提升了复杂查询的响应速度。 - **分片管理改进** 引入了更智能的分片分配策略,提升了大规模集群中的分片均衡性和恢复效率,降低了因节点故障导致的集群不稳定风险。 - **内存使用优化** 对 JVM 内存的使用进行了优化,减少了堆内存的消耗,提高了系统的稳定性和可扩展性。 ### 安全与管理 - **增强的安全功能** 8.18 版本在安全方面进行了多项改进,包括更细粒度的角色权限控制、增强的审计日志功能以及对 TLS 1.3 的支持,提升了系统的整体安全性。 - **监控与诊断工具升级** 提供了更全面的监控指标和诊断工具,帮助管理员更好地理解集群状态,快速定位和解决问题。 ### 升级指南 - **兼容性注意事项** 在升级到 8.18 之前,建议检查当前使用的插件和索引格式是否与新版本兼容。某些旧版本的 API 可能已被弃用或移除,需进行相应的代码调整。 - **配置更新建议** 推荐根据新版本的特性调整集群配置,例如启用新的分片分配策略、优化线程池设置等,以充分发挥新版本的性能优势。 - **测试与回滚计划** 在生产环境中部署前,应在测试环境中充分验证新版本的功能和性能。同时,制定详细的回滚计划,以防升级过程中出现不可预见的问题。 ```bash # 示例:设置环境变量以运行 Elasticsearch 8.18 export ES_JAVA_HOME=/data/elasticsearch-8.18.2/jdk/ export ES_HOME=/data/elasticsearch-8.18.2 source .bash_profile ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值