- 博客(15)
- 收藏
- 关注
原创 文件结束符的概念
系统/环境终端EOF信号换行符核心原理Ctrl + D\n(LF)关闭输入流,读取函数返回EOFCtrl + Z回车\r\n(CRLF)在输入流中插入0x1A(SUB) 字符经典Mac OS (已过时)Ctrl + D\r(CR)同Unix。
2025-09-25 15:56:38
720
原创 C语言常见问题
要理解为什么必须加extern,首先要分清声明(Declaration)和定义(Definition)定义 (Definition):它创建了变量对象并为它分配了存储空间。一个变量在整個程序中只能被定义一次。// file1.c// 这是"定义",分配了内存,并初始化为10声明 (Declaration):它只是告诉编译器这个变量(或函数)的存在、它的名字和类型。它不分配内存。一个变量可以被多次声明,只要类型一致。// file2.c。
2025-09-19 14:22:56
1044
原创 在C语言中,函数体外部只能进行变量或函数的声明、定义,而不能编写可执行语句
位置允许的内容不允许的内容函数体外部变量/函数的声明与定义、宏、类型定义任何可执行语句(赋值、函数调用、控制流等)函数体内部变量定义、所有可执行语句函数定义(C语言不支持嵌套函数)所有的动作(语句)都必须发生在函数内部。
2025-09-18 09:41:10
264
原创 在命令行使用gcc编译多文件c项目
场景命令示例说明快速编译生成a.out标准编译显示警告,指定输出名调试版本包含调试信息发布版本进行速度优化编译为目标文件生成.o文件用于链接链接数学库链接libm库要查看所有选项的完整列表,可以使用man gcc命令。
2025-09-16 14:40:42
836
原创 变长数组作用域
永远不要返回VLA的指针!栈内存会在函数返回后被回收,后续访问将导致未定义行为(程序崩溃或数据污染)。VLA在离开作用域后内存立即失效,返回其地址会导致。VLA的作用域从声明点开始,到其所在的代码块(VLA不能声明在全局作用域或使用。时使用VLA(如临时计算缓冲区)。
2025-06-17 10:25:00
319
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅