bug菌初学C语言不了解的那些事~

bug菌初学C语言不了解的那些事~_第1张图片

正文


大家好,我是bug菌~

其实C语言语法非常简单,可以说是目前主流编程语言中语法点最少的一门编程语言了,然而C语言也有其复杂的一面,在于其平台差异性,要编写出高效的C语言还需要结合当前CPU、操作系统、编译器等等方面来指导编程。

下面bug总结了一小部分知识,让大家了解部分学习C语言时,没那么特别关注的内容:

1

C文件的编译

C语言中通常以.c文件作为源文件,并且源文件在链接前都是独立编译的,即.c文件可以最终并行编译成目标.o文件。

然而平时我们看到.h文件都只是为了让各C语言相互之间调用提供的接口,最终链接成最后的执行文件。

理解了这一层,你应该很好的组织的文件结构了吧。

2

数据类型固定

以前有个同事说C语言是一种"已知数据类型的编程语言",当时没怎么特别太在意。

其实随着你的编程经验的丰富,会发现如果在编程的过程中不知道数据的具体大小,多半会在赋值或者复制的过程中出问题。

3

C语言内存

C语言的内存简单点分总的来说就两种--堆和栈,栈属于动态内存,这是我们的C语言运行调用栈必要的,而堆是静态内存,动静结合构成了程序中内存的操作。

平时所遇到的动态内存分配malloc等,都只是静态内存的用使用换空间提高利用率的方式。

4

struct编程

struct可以说是C语言OO最直接的语法了,数据、方法都可以打包带走,打包访问,从而让数据更加内聚,使用时也更加有针对性。

5

static与const

static和const都是对数据和方法的安全使用做贡献的,C语言是一门简单且灵活的编程语言,太自由的马,就比较容易犯错;那么这两个关键字可以在一定程度上对函数、变量进行拘束,提高程序的健壮性。

关键还是你要对程序足够的理解,且在编程的时候考虑他们。

6

数据大小与有无符号

对于整形数各个平台的实际内存占用大小可能是不同的,在C标准通常也只是规定了其最小的大小,所以在编码前要提前了解。

同样对于char类型也不一定总是8bit的,通常其表示的是当前嵌入式平台的最小寻址大小。

还有char类型大部分认为是有符号类型,只是省略了signed,然而C99的标准中并没有规定,还得是依赖于平台或者编译器。

最后

      好了,今天就跟大家分享这么多了,如果你觉得有所收获,一定记得点个~

bug菌唯一、永久、免费分享嵌入式技术知识平台~

bug菌初学C语言不了解的那些事~_第2张图片

推荐专辑  点击蓝色字体即可跳转

☞  MCU进阶专辑 dc3022347dc7edce43cb863115f86883.gif

☞  嵌入式C语言进阶专辑 1df824230253dcf7febfe39fb2e14201.gif

☞  “bug说”专辑 f61400ff486d202afe7c5fffd654e958.gif

☞ 专辑|Linux应用程序编程大全

☞ 专辑|学点网络知识

☞ 专辑|手撕C语言

☞ 专辑|手撕C++语言

☞ 专辑|经验分享

☞ 专辑|电能控制技术

☞ 专辑 | 从单片机到Linux

a242f0aa17dc4e7ccb516ea2f0d2f061.gif

你可能感兴趣的:(bug,c语言,java,数据结构,开发语言)