C语言知识(一)
在C语言中一个类型到底代表什么意思, 在C语言中一个类型到底代表什么意思呢?
- 数据在内存中有多大, 数据的长度, sizeof 查看
- 如果是一个复合类型的数据, 那么它里面就会有许多字段, 它的字段是如何排列的
- 对于两个类型, 它们都有相同的字段, 但是它们字段所指向的数据可能不同, 导致实际的两个字段, 所形成的对象在内存里的类型是不一样, 即数据排列的密度有很大的差距。
我们知道C语言是编译性语言, 首先要编写源代码, 之所以把含有源代码的源文件用C的编译器编译成目标代码, 然后进行链接从而得到可执行程序
所以在C文件可运行之前, 必须要经过编译的过程, C文件在编译器编译的时间段, 我们称作程序的编译时, 当得到可运行程序, 去运行它时, 我们称作程序的运行时。
在C程序编译的时候, 编译器并不会对C语言中的类型进行太多的检查, C语言是显示声明类型, 而且是弱类型甚至是不检查的编程语言, 这是因为C语言的时代, 资源比较匮乏, 所以过多的检查机制会对资源损耗。
对于C语言的函数我们还要考虑它的作用域, 所谓作用域就是它起作用的范围, 在默认的情下, C语言会把一个程序中所有的
函数当作是全局的,
这项工作是由编译器自动帮助你完成的, 但是C语言可以提供一个机制让你绕过这个限制,
比方说可以使用static
关键字来修饰一个函数, C语言中static关键字非常的妙、即可用来修饰函数又可以修饰变量
当修饰一个函数的时候, 函数的作用域就发生了变化, 从原来的全局作用域被约束到它所在的文件中。
我们知道C编译器以文件作为编译的基本单位, 所以此时函数的作用域粒度被限制到一个编译单元, 这对C语言的使用有重大的影响,
C语言本身没有提供任何的数据结构, 所以需要我们自已去打造一个一个自已的库;
C语言的运行时系统是基于堆栈的, 堆栈的英文名称叫做stack, 那么堆栈数据结构的特点有哪些呢? 它是一种先进后出的数据结构,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现