C/C++编程基础:数组、变量

一、汉字、英文、数字大小

在这里插入图片描述
根据编码方式的不同汉字一般占2~4个字节

GBK、GB2312、GB18030编码---2字节
UTF-8编码---3字节

对于字母、数字,都是一个字节

二、数组大小

局部数组的大小受制于栈的大小,而栈的大小在不同硬件平台定义不同

stm32:栈大小设置在.s启动文件

全局数组的大小受制于除去堆、栈、代码占用后的RAM大小

三、变量类型
u8u16u32u64
unsigned charunsigned shortunsigned intunsigned long
1字节2字节4字节8字节
conststaticvolatile
只读变量,即常变量,定义时才能赋值,后面不可以赋值函数外面定义效果和全局变量类似;在函数内部定义的,那么这个变量只初始化一次,变量取值一直保存着函数第一次调用时的值用来修饰被不同线程访问和修改的变量,变量随时可变,确保变量不会因编译器的优化而省略,且要求每次直接读值

const VS define

  • define是预编译指令,const是普通变量定义。define定义的宏是在预处理阶段展开的,const定义的只读变量是在编译运行阶段使用的
  • const定义的是变量,而define定义的是常量

const VS volatile

  • 一个变量可以同时为const和volatile。例如只读的状态寄存器。它是volatile因为它可能被意想不到地改变。它是const因为程序不应该试图去修改它。
  • 一个指针可以是volatile。一个中断服务子程序修该一个指向一个buffer的指针时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值