基础C语言知识串串香14☞增补知识

6217760-7a1d63bdb0bc5b7a.jpg

十、增补知识

10.1、一个字节可以表示8位字符,字符真的有256种,128~255表示西欧字符,是不常见,详情见文档。字符相加的时候,会自动转成int型加。

10.2、在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed)char与unsigned char之间的区别。

首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-127~127,unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。

10.3、为什么在链接时需要一个链接地址?
因为数据是要放在一个模拟地址内存空间的,它要把这个数据先加载到寄存器,才能给cpu使用,那么寄存器怎么知道是哪个内存地址位置呢,是因为在编译时,编译出像ldr r0 0x12345678,而这个0x12345678就是内存地址,再编译出像ldr r1, [r0],这样就可以拿到0x12345678内存位置的数据了

10.4、printf变参

10.5、arm-2009q3.tar.bz2这套编译器自带了函数库,比如有strcmp,malloc,printf等,但是有些库函数我们却不能用他们,比如printf,因为这个函数默认是同过屏幕输出的,而我们常用uart调试。感觉malloc也不能用,因为我们不知道内存哪一块做了堆内存,只有系统才知道。

10.6、清bss段:编译器可能已经帮我们做了,只是在重定位那节,因为要重定位那部分内存空间并没有清0,所以要手动编程清bss段。


往期热文:
基础C语言知识串串香(1)

基础C语言知识串串香(2)

基础C语言知识串串香(3)

基础C语言知识串串香(4)

基础C语言知识串串香(5)

基础C语言知识串串香(6)

基础C语言知识串串香(7)

基础C语言知识串串香(8)

基础C语言知识串串香(9)

基础C语言知识串串香(10)

基础C语言知识串串香(11)

基础C语言知识串串香(12)

基础C语言知识串串香(13)


===========我是华丽的分割线===========


更多知识:
点击关注专题:嵌入式Linux&ARM

或浏览器打开:https://www.jianshu.com/c/42d33cadb1c1

或扫描二维码:

6217760-e6bba06e005d8fe7.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leon_George

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值