一些杂记2
1.#define
1.1定义
#define 是一个预处理指令,用于定义宏
宏,是预处理阶段(在编译之前)由预处理器处理的代码片段
1.2使用
1.2.1 #define 可以定义常量
#define PI 3.14159
1.2.2 #define 可以定义宏函数
#define SQUARE(x) ((x) * (x))
定义宏函数时的注意事项:
(1)参数x的括号要紧挨着函数名
(2)函数的内容,即表达式中,不要吝啬括号
防止运算律出错
(3)宏函数不检查类型,一般只用于构建简单函数
1.2.3 #define可以用来条件编译
2.头文件与源文件
一、文件扩展名与用途
(1)头文件
(1.1) 通常以".h"为后缀
(1.2)主要用于声明接口,如函数声明、宏定义、结构体定义、类型定义等
(1.3)可以被多个源文件包含,实现代码的重用和模块化
(2)源文件
(2.1)通常以".c"为后缀
在C++中,源文件通常以“.cpp”为后缀,但C语言中一般使用“.c”
(2.2)主要用于实现功能,包含函数的具体实现、全局变量的定义等
(2.3)源文件是编译器生成可执行文件的基础
二、内容与结构
(1)头文件
通常包含以下内容:
- 函数声明:告诉编译器函数的名称、返回类型和参数类型
- 宏定义:使用
#define指令定义常量或宏- 结构体定义:定义数据结构的布局
- 类型定义(typedef):为现有类型定义新的名称
- 头文件应该避免包含全局变量的定义,因为全局变量在多个源文件中共享可能会导致链接错误
(2)源文件
通常包含以下内容:
- 函数实现:提供函数的具体实现代码。
- 全局变量定义:定义在程序范围内有效的变量。
- 局部变量定义:在函数或代码块内部定义的变量。
- 程序逻辑:实现程序的具体功能和算法。
总结:
头文件提供了程序的接口声明和宏定义等
源文件则实现了这些接口和定义了程序的具体逻辑
3.赋值表达式的返回值
赋值表达式有返回值
赋值表达式执行赋值操作,即将右侧的值赋给左侧的变量
赋值表达式本身也具有一个值,这个值就是被赋给左侧变量的那个值
a = 5 这个赋值表达式的返回值就是5
所以 b = 5
总结:
赋值表达式在C语言中是有返回值的
这个返回值就是被赋给左侧变量的值
相关文章:
一些杂记2
1.#define 1.1定义 #define 是一个预处理指令,用于定义宏 宏,是预处理阶段(在编译之前)由预处理器处理的代码片段 1.2使用 1.2.1 #define 可以定义常量 #define PI 3.14159 1.2.2 #define 可以定义宏函数 #define SQUARE(x) ((…...
C语言 --- 分支
C语言 --- 分支 语句分支语句含义if...else语句单分支if语句语法形式 双分支 if-else 语句语法形式 悬空else含义问题描述 多分支 if-else 语句语法形式 switch...case语句含义语法形式 总结 💻作者简介:曾与你一样迷茫,现以经验助你入门 C 语…...
【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.10 ndarray内存模型:从指针到缓存优化
2.10 ndarray内存模型:从指针到缓存优化 目录 #mermaid-svg-p0zxLYqAnn59O2Xe {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-p0zxLYqAnn59O2Xe .error-icon{fill:#552222;}#mermaid-svg-p0zxLYqAnn59O…...
【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.6 广播机制核心算法:维度扩展的数学建模
2.6 广播机制核心算法:维度扩展的数学建模 目录/提纲 #mermaid-svg-IfELXmhcsdH1tW69 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IfELXmhcsdH1tW69 .error-icon{fill:#552222;}#mermaid-svg-IfELXm…...
K8S极简教程(4小时快速学会)
1. K8S 概览 1.1 K8S 是什么 K8S官网文档:https://kubernetes.io/zh/docs/home/ 1.2 K8S核心特性 服务发现与负载均衡:无需修改你的应用程序即可使用陌生的服务发现机制。存储编排:自动挂载所选存储系统,包括本地存储。Secret和…...
系统URL整合系列视频二(界面原型)
视频 系统URL整合系列视频二(界面原型) 视频介绍 (全国)大型分布式系统Web资源URL整合需求界面原型讲解。当今社会各行各业对软件系统的web资源访问权限控制越来越严格,控制粒度也越来越细。安全级别提高的同时也增加…...
虚幻浏览器插件 UE与JS通信
温馨提示:本节内容需要结合插件Content下的2_Communication和Resources下的sample.html 一起阅读。 1. UE调用JS 1.1 JS脚本实现 该部分共两步: 导入jstote.js脚本实现响应函数并保存到 ue.interface 中 jsfunc 通过json对象传递参数,仅支持函数名小…...
OpenAI深夜反击:o3-mini免费上线,能否撼动DeepSeek的地位?
还在为寻找合适的 AI 模型而烦恼吗?chatTools 平台为您精选 o1、GPT4o、Claude、Gemini 等顶尖 AI 模型,满足您不同的 AI 应用需求。立即体验强大的 AI 能力! 深夜反击,OpenAI祭出o3-mini 在DeepSeek异军突起,搅动AI行…...
Golang 应用的 Docker 部署方式介绍及使用详解
本文将介绍如何使用 Docker 部署一个基于 Go 语言的后台服务应用 godco,并介绍如何配置 MongoDB 数据库容器的连接,确保应用能够成功启动并连接到容器方式部署的mongoDB数据库。 前提条件 1.已安装 Docker/Podman 2.已安装 MongoDB 数据库容器ÿ…...
deep seek R1本地化部署及openAI API调用
先说几句题外话。 最近deep seek火遍全球,所以春节假期期间趁着官网优惠充值了deep seek的API,用openAI的接口方式尝试了下对deep seek的调用,并且做了个简单测试,测试内容确实非常简单:通过prompt提示词让大模型对用…...
力扣第435场周赛讲解
文章目录 题目总览题目详解3442.奇偶频次间的最大差值I3443.K次修改后的最大曼哈顿距离3444. 使数组包含目标值倍数的最少增量3445.奇偶频次间的最大差值 题目总览 奇偶频次间的最大差值I K次修改后的最大曼哈顿距离 使数组包含目标值倍数的最少增量 奇偶频次间的最大差值II …...
初入机器学习
写在前面 本专栏专门撰写深度学习相关的内容,防止自己遗忘,也为大家提供一些个人的思考 一切仅供参考 概念辨析 深度学习: 本质是建模,将训练得到的模型作为系统的一部分使用侧重于发现样本集中隐含的规律难点是认识并了解模型&…...
Signature
Signature 题目是: import ecdsaimport randomdef ecdsa_test(dA,k):sk ecdsa.SigningKey.from_secret_exponent(secexpdA,curveecdsa.SECP256k1)sig1 sk.sign(databHi., kk).hex()sig2 sk.sign(databhello., kk).hex()#不同的kr1 int(sig1[:64], 16)s1 i…...
93,【1】buuctf web [网鼎杯 2020 朱雀组]phpweb
进入靶场 页面一直在刷新 在 PHP 中,date() 函数是一个非常常用的处理日期和时间的函数,所以应该用到了 再看看警告的那句话 Warning: date(): It is not safe to rely on the systems timezone settings. You are *required* to use the date.timez…...
笔灵ai写作技术浅析(四):知识图谱
知识图谱(Knowledge Graph)是一种结构化的知识表示方式,通过将知识以图的形式进行组织,帮助AI系统更好地理解和利用信息。在笔灵AI写作中,知识图谱技术被广泛应用于结构化组织各种领域的知识,使AI能够根据写作主题快速获取相关的背景知识、概念关系等,从而为生成内容提供…...
Chromium132 编译指南 - Android 篇(四):配置 depot_tools
1. 引言 在前面的章节中,我们详细介绍了编译 Chromium 132 for Android 所需的系统和硬件要求,以及如何安装和配置基础开发环境和常用工具。完成这些步骤后,接下来需要配置 depot_tools,这是编译 Chromium 的关键工具集。depot_t…...
使用真实 Elasticsearch 进行高级集成测试
作者:来自 Elastic Piotr Przybyl 掌握高级 Elasticsearch 集成测试:更快、更智能、更优化。 在上一篇关于集成测试的文章中,我们介绍了如何通过改变数据初始化策略来缩短依赖于真实 Elasticsearch 的集成测试的执行时间。在本期中࿰…...
SQL进阶实战技巧:如何分析浏览到下单各步骤转化率及流失用户数?
目录 0 问题描述 1 数据准备 2 问题分析 3 问题拓展 3.1 跳出率计算...
机器学习--概览
一、机器学习基础概念 1. 定义 机器学习(Machine Learning, ML):通过算法让计算机从数据中自动学习规律,并利用学习到的模型进行预测或决策,而无需显式编程。 2. 与编程的区别 传统编程机器学习输入:规…...
低代码系统-产品架构案例介绍、炎黄盈动-易鲸云(十二)
易鲸云作为炎黄盈动新推出的产品,在定位上为低零代码产品。 开发层 表单引擎 表单设计器,包括设计和渲染 流程引擎 流程设计,包括设计和渲染,需要说明的是:采用国际标准BPMN2.0,可以全球通用 视图引擎 视图…...
基于Slack Bolt与OpenAI API构建企业级AI助手:从集成部署到高级应用
1. 项目概述:当ChatGPT遇上Slack,团队协作的智能革命 如果你和我一样,每天的工作都泡在Slack里,与团队沟通、同步进度、处理各种消息,那你一定也经历过这样的时刻:一个技术问题卡住了,需要快速…...
K210实战:三种高效部署kmodel模型至TF卡的进阶方案
1. K210模型部署的痛点与进阶方案概览 第一次用K210做图像识别项目时,最让我头疼的就是模型部署问题。每次修改模型都要反复插拔TF卡,调试过程像在玩打地鼠游戏。后来才发现,基础的拷贝粘贴只是入门操作,真正高效的部署方式能节省…...
稀疏三角求解器并行优化:GrowLocal算法解析
1. 稀疏三角求解器的并行调度挑战稀疏三角求解器(SpTRSV)是求解线性方程组$Lxb$或$Uxb$的核心算法,其中$L$和$U$分别是稀疏下三角和上三角矩阵。这类问题在科学计算、工程仿真和机器学习等领域有着广泛应用。然而,稀疏矩阵的非零元素分布不规则性导致其并…...
Steam-Economy-Enhancer多货币支持:全球交易定价策略
Steam-Economy-Enhancer多货币支持:全球交易定价策略 【免费下载链接】Steam-Economy-Enhancer Enhances the Steam Inventory and Steam Market. 项目地址: https://gitcode.com/gh_mirrors/st/Steam-Economy-Enhancer Steam-Economy-Enhancer是一款强大的S…...
从GPS模块到地图显示:手把手教你用Python解析NMEA-0183协议数据
从GPS模块到地图显示:Python实战NMEA-0183协议解析全流程 当你第一次将GPS模块连接到电脑,看到串口终端不断刷新的$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47这类神秘代码时,是否感到无从下手?本文将带你…...
taskwarrior-tui键盘绑定完全手册:成为效率达人的秘密武器
taskwarrior-tui键盘绑定完全手册:成为效率达人的秘密武器 【免费下载链接】taskwarrior-tui taskwarrior-tui: A terminal user interface for taskwarrior 项目地址: https://gitcode.com/gh_mirrors/ta/taskwarrior-tui taskwarrior-tui是一款功能强大的终…...
开源AI中间人代理工具深度解析:从MITM原理到AI API调试实践
1. 项目概述:一个开源中间人代理工具的深度解析最近在开源社区里,一个名为nsampre/openclaw-anthropic-mitm的项目引起了我的注意。光看这个标题,可能很多朋友会有点懵,这串字符组合到底意味着什么?简单来说࿰…...
高性能小程序跨框架迁移方案:miniprogram-to-vue3自动化转换架构设计与最佳实践
高性能小程序跨框架迁移方案:miniprogram-to-vue3自动化转换架构设计与最佳实践 【免费下载链接】miniprogram-to-vue3 项目地址: https://gitcode.com/gh_mirrors/mi/miniprogram-to-vue3 随着前端技术生态的快速发展,微信小程序向Vue3/Uniapp3…...
米尔RK3576开发板评测:工业AI与边缘计算的性能甜点方案
1. 项目概述:当RK3576遇上米尔开发板,工业AI的新选择最近在嵌入式圈子里,瑞芯微的RK3576这颗SoC讨论热度挺高。作为一枚常年混迹在工控、边缘计算和AIoT项目里的老工程师,我对这类新平台的发布总是格外敏感。米尔电子作为国内老牌…...
GPT-Image 2 对标竞争者研发?——理性看待“对手传闻”的技术路径(2026 观察)
深度观察:OpenAI 是否在暗中加速 GPT-Image 2 对标竞争者研发?——理性看待“对手传闻”的技术路径(2026 观察)“竞争对手是否在秘密被研发?”“OpenAI 背后是不是在悄悄做某种 GPT-Image 2 的替代方案?”这…...




