C语言函数传参与预处理详解
📅 2026/7/31 5:12:43
👁️ 次浏览
1. 函数传参在C语言中函数参数的传递方式主要有两种值传递和地址传递。1.1 值传递值传递是C语言默认的参数传递方式。函数调用时将实参的值复制一份给形参形参和实参在内存中是两个独立的变量。#include stdio.h void swap(int a, int b) { int temp a; a b; b temp; printf(函数内a%d, b%d\n, a, b); } int main() { int x 10, y 20; swap(x, y); printf(主函数x%d, y%d\n, x, y); return 0; }输出结果函数内a20, b10 主函数x10, y20可以看到函数内交换了形参a和b的值但实参x和y的值没有改变。1.2 地址传递通过传递变量的地址指针可以在函数内部修改实参的值。#include stdio.h void swap(int *a, int *b) { int temp *a; *a *b; *b temp; } int main() { int x 10, y 20; swap(x, y); printf(交换后x%d, y%d\n, x, y); return 0; }输出结果交换后x20, y102. 预处理C语言的预处理是在编译之前进行的文本替换和处理以#开头的指令都是预处理指令。2.1 宏定义#define宏定义分为两种不带参数的宏和带参数的宏。2.1.1 不带参数的宏#define PI 3.14159 #define MAX_SIZE 100 int main() { double area PI * 5.0 * 5.0; int array[MAX_SIZE]; return 0; }2.1.2 带参数的宏#define SQUARE(x) ((x) * (x)) #define MAX(a, b) ((a) (b) ? (a) : (b)) int main() { int num 5; int square SQUARE(num); // 展开为 ((5) * (5)) int max MAX(10, 20); // 展开为 ((10) (20) ? (10) : (20)) return 0; }注意带参数的宏要小心使用每个参数和整个表达式都要用括号括起来避免优先级问题。2.2 文件包含#include将指定文件的内容插入到当前文件中。#include stdio.h // 系统头文件用尖括号 #include myheader.h // 用户头文件用双引号2.3 条件编译根据条件决定是否编译某段代码。#define DEBUG 1 #if DEBUG printf(调试信息\n); #endif #ifdef WINDOWS // Windows平台代码 #elif defined(LINUX) // Linux平台代码 #else // 其他平台代码 #endif3. 学习总结今天学习的重点函数传参理解值传递和地址传递的区别掌握指针在函数参数中的应用。预处理掌握宏定义、文件包含和条件编译的基本用法。实践建议多写代码验证不同传参方式的效果理解宏展开的机制。通过今天的学习你应该能够正确使用值传递和地址传递编写带参数和不带参数的宏使用条件编译控制代码的编译过程
1. 从一块“坏”掉的U盘说起:为什么需要了解NandFlash?几年前,我手头一个用了很久的U盘突然“罢工”了。插上电脑,系统能识别到盘符,但容量显示异常,拷贝文件时要么报错,要么速度奇慢࿰…
📅 2026/7/31 5:12:43
1. 从零开始的困惑:为什么是HAL库?如果你刚拿到一块STM32的开发板,打开官方资料,准备大干一场,大概率会立刻陷入一种选择困难症:我该用哪种库来写代码?是传说中的“标准库”(Standar…
📅 2026/7/31 5:12:43
1. 引言
在构建基于大语言模型(LLM)的智能体(Agent)时,我们常常需要让 Agent 执行一些具有潜在风险的操作,例如直接操作数据库、调用外部 API 或执行系统命令。为了确保安全性和可控性,引入人工…
📅 2026/7/31 5:12:43
VsCode 使用指南(配置 美化)
引言大家好,我是你们的技术博主。今天我们来聊聊 VsCode —— 这个被誉为「地表最强编辑器」的神器。很多人装了 VsCode 后就直接用默认设置,却不知道它其实隐藏着海量可自定义的宝藏。从配色方案到快…
📅 2026/7/31 15:47:56
1. 2025届AI写作工具市场格局分析2025年的AI写作领域已经形成了明显的技术分层,根据NLP处理能力、创作风格适配度和行业垂直度三个核心维度,当前主流工具可划分为基础型、专业型和行业型三大类别。基础型工具如Writesonic和Jasper依然保持着对入门用户的…
📅 2026/7/31 15:47:56
终极无损转换指南:如何用img2pdf快速将图片转为PDF 【免费下载链接】img2pdf mirror of https://gitlab.mister-muffin.de/josch/img2pdf for Travis and appveyor CI 项目地址: https://gitcode.com/gh_mirrors/im/img2pdf
你是否曾经遇到过这样的烦恼&…
📅 2026/7/31 15:46:56
如何用自然语言分离音频:AudioSep开源项目完整实战指南 【免费下载链接】AudioSep Official implementation of "Separate Anything You Describe" 项目地址: https://gitcode.com/gh_mirrors/au/AudioSep
AudioSep是一个基于自然语言查询的开放域…
📅 2026/7/31 15:46:56
原神自动脚本:如何让重复操作变得轻松愉快? 【免费下载链接】genshin-impact-script 原神脚本,包含自动钓鱼、自动拾取、自动跳过对话等多项实用功能。A Genshin Impact script includes many useful features such as automatic fishing, au…
📅 2026/7/31 15:46:56
1. 从动物园管理看抽象类的现实映射 上周在给团队新人培训时,有个场景让我突然想通了抽象类的本质。当时我们正在讨论动物园的动物行为管理系统,饲养员需要确保所有动物都遵守基本行为规范:按时进食、接受健康检查、参与训练课程。但具体到东…
📅 2026/7/31 15:46:56
数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…
📅 2026/7/31 0:00:23
BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…
📅 2026/7/31 0:00:23
当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…
📅 2026/7/31 0:00:23
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/31 1:18:08
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/31 1:18:08
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/31 1:18:08
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/31 7:18:38
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/30 17:17:14
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/31 5:18:28