IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 写C语言的四个阶段 -> 正文阅读

[C++知识库]写C语言的四个阶段

写C语言程序的四个阶段
第一阶段?? ?只写一个.c文件,在.c文件中只写一个main函数,把所有功能都放到main()中
第二阶段?? ?只写一个.c文件,在.c文件中除了main函数以外还有其他的功能函数
?? ??? ??? ?函数的声明
?? ??? ??? ?函数的返回值类型 函数名(参数列表);//该位置的参数叫做形式参数

?? ??? ??? ?函数的实现(函数的定义)
?? ??? ??? ?函数的返回值类型 函数名(参数列表)//该位置的参数叫做形式参数
?? ??? ??? ?{
?? ??? ??? ??? ?功能代码
?? ??? ??? ?}

?? ??? ??? ?函数的调用
?? ??? ??? ?函数名(参数);//该位置的参数叫做实际参数

?? ??? ??? ?函数名是函数的入口地址,函数名就是地址
?? ??? ??? ?形式参数接收实际参数的值
?? ??? ??? ?值传递?? ??? ?
?? ??? ??? ?地址传递?? ?
第三阶段?? ?多文件的方式实现项目
?? ??? ??? ?main.c?? ??? ??? ??? ?存放main函数,以及功能函数的调用
?? ??? ??? ?func.c?? ??? ??? ??? ?存放功能函数的实现
?? ??? ??? ?func.h?? ??? ??? ??? ?存放功能函数的声明,以及各种定义
?? ??? ??? ?makefile(Makefile)?? ?存放编译规则
第四阶段?? ?把.c文件做成库文件
?? ??? ??? ?动态库
?? ??? ??? ?静态库
二.makefile的简介
?? ?一个项目工程中的源文件不计其数,这些源文件按类型、功能、模块分别放在若干个目录中.
?? ?makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译.
?? ?哪些文件需要重新编译,甚至于进行更复杂的功能操作.
?? ?因为 makefile 就像一个Shell脚本一样,其中也可以执行操作系统的命令.
----------------------------------------
?? ?vim 打开多个文件
?? ??? ?vim * -p?? ?多文件以标签的形式打开
?? ??? ?注意 : 不能打开过多的文件,否则vim会崩溃
?? ?用ctrl + alt + pgup / pgdn切换文件
----------------------------------------
三.C语言的作用域
1.空间的分布
?? ?C语言会把内存分为5个区域(栈区 堆区 常量区 全局区 代码区)
?? ?--------------------------------------------------------
?? ?./a.out->是由进程在执行可执行程序时分配存储空间
?? ?->4Kb(物理)->4Gb(虚拟空间)

?? ?1Gb?? ??? ?Kernel(内核)
?? ?--------------------
?? ?3Gb?? ??? ?命令行参数和环境变量int main(int argc, char *argv[])
?? ??? ??? ?栈区
?? ??? ??? ?👇
?? ??? ??? ?空白
?? ??? ??? ??
?? ??? ??? ?堆区
?? ??? ??? ?静态区(全局区)未初始化的(系统默认会初始化成0)
?? ??? ??? ?静态区(全局区)已初始化的
?? ??? ??? ?常量区(RO DATA)只读的区域
?? ??? ??? ?代码区

?? ?栈区?? ?不需要程序员来管理,自己开辟,自己释放
?? ?堆区?? ?需要程序员来管理,手动开辟,手动释放(malloc realloc zalloc free)
?? ?静态区?? ?全局变量/static关键字修饰的变量
?? ?常量区?? ?read only(只读)
?? ?代码区?? ?程序员没有办法管理

2.全局变量和局部变量
?? ?
?? ?局部变量
?? ?在某个函数内部或者程序块内部定义的变量叫做局部变量
?? ?局部变量只能在该函数的内部 或者 该程序块的内部使用
?? ?局部变量在函数外部是不可知的

?? ?全局变量
?? ?全局变量是定义在函数外部的,通常写到程序的顶部
?? ?全局变量在整个程序中生命周期都是有效的
?? ?在任意函数的内部都可以访问全局变量

?? ?注意:
?? ?全局变量和局部变量可以同名
?? ?如果出现了同名的情况,那么在执行函数时优先使用局部变量,
?? ?在该函数中全局变量被屏蔽了

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章           查看所有文章
加:2022-02-16 12:52:35  更:2022-02-16 12:56:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:30:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码