C语言虽然是基础,但实际上是要求学者已经具备入门的能力,然后通过本章节将C语言里面几个比较重要的板块进行加深;如果学者对C语言并不了解,建议先通过网上搜索入门教程学习后再进入本章节。
1.数据类型
1.1 类型定义
C语言标准中,常用的类型如下表格:
| 类型 |
存储大小 |
取值范围 |
| signed char |
1 字节(Byte),8bits |
-128 到 127 |
| unsigned char |
1 字节,8bits |
0 到 255 |
| short |
2 字节,16bits |
-32,768 到 32,767 |
| unsigned short |
2 字节,16bits |
0 到 65,535 |
| int |
2/4 字节,16/32bits |
-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
| unsigned int |
2/4 字节,16/32bits |
0 到 65,535 或 0 到 4,294,967,295 |
| long |
4 字节,32bits |
-2,147,483,648 到 2,147,483,647 |
| unsigned long |
4 字节,32bits |
0 到 4,294,967,295 |
| float |
4 字节,32bits |
1.2E-38 到 3.4E+38 |
| double |
8 字节,64bits |
2.3E-308 到 1.7E+308 |
| bool |
忽略 |
true/false |
然而在正常开发过程中,由于平台(主控芯片类型)不同,会导致我们使用的变量有位数的差异,比如表中的int在不同位(16位/32位)机的表现不同,因此我们需要一个抽象定义来解决这个跨平台问题:
| 实际使用类型 |
存储大小 |
打印符号 |
| int8_t |
1 字节(Byte),8bits |
%d |
| uint8_t |
1 字节,8bits |
%u或%c或%x(16进制小写,%X大写) |
| int16_t |
2 字节,16bits |
%d |
| uint16_t |
2 字节,16bits |
%u或%x |
| int32_t |
4 字节,32bits |
32位机器%ld,64位机器%d |
| u |

本文深入探讨嵌入式C语言中的指针、动态类型、变量存储区以及内存管理。介绍了指针与堆的关系、多阶指针、通用类型指针的使用,并讨论了动态类型、变量存储区的细节。此外,还涉及了主函数参数列表、可变参数和日志功能的实现。强调了类型转换、头文件兼容C++的重要性,以及在嵌入式开发中避免使用微软编译工具的原因。
最低0.47元/天 解锁文章
1046

被折叠的 条评论
为什么被折叠?



