[c进阶01]keil mdk编译器,字符串存储在数组方式,占用内存情况
2017-10-24 18:08
405 查看
测试了一下,以下4条,字符串存入数组方式下的内存分配情况。
第一个:
数组g占用了8个字节,8个32位的地址。
第二个:
数组h占用了4个字节,4个32位的地址(20000524、20000525、20000526、20000527)
第三个:
数组j非常有意思,实际占用了5个字节,因为要保存\0
而且,为了内存对齐,32位的单片机下,这个数组实际花费了8个字节的内存空间。(…51c~…523)
第四个:
数组k占用1个字节,为了内存对齐,实际花销4个字节。
另外插播个指针传值的,不论在哪,size of 指针,就是size of int,stm32里面的话就是固定值,4 32位地址,一个指针占4个字节
当然size of (*指针)就要看具体指向的东西了
char g[8] = "12345678"; char h[4] = "1234"; char j[ ] = "1234"; char k[1] = "2";
第一个:
char g[8] = "12345678";内存分布图(软件debug—memory查看器):
数组g占用了8个字节,8个32位的地址。
第二个:
数组h占用了4个字节,4个32位的地址(20000524、20000525、20000526、20000527)
第三个:
数组j非常有意思,实际占用了5个字节,因为要保存\0
而且,为了内存对齐,32位的单片机下,这个数组实际花费了8个字节的内存空间。(…51c~…523)
第四个:
数组k占用1个字节,为了内存对齐,实际花销4个字节。
另外插播个指针传值的,不论在哪,size of 指针,就是size of int,stm32里面的话就是固定值,4 32位地址,一个指针占4个字节
当然size of (*指针)就要看具体指向的东西了
相关文章推荐
- 21,变量与数组在内存中存储方式
- 第07天C语言(01):数组-内存存储细节
- 尽量减少布尔操作的内存占用,以及布尔的存储方式
- 有一段文本,将文本中的所有单词,存放到一个字符串数组中。(要求占用内存最少)
- 在控制台输入一段文本,将文本中的所有单词,存放到一个字符串数组中。 ( 要求占用内存最少)
- 字符数组和字符串指针在内存中存储
- 输入一段文本,将文本中的所有单词,存放到一个字符串数组中。(要求占用内存最少)
- mysql存储过程中遍历数组字符串的两种方式
- 整型值和字符数组在内存中存储方式
- 字符串在内存中的存储——C语言进阶
- 字符串数组的两种存储方式
- 输入一个字符串,存储在字符数组里,用指针的方式逐一显示字符,并求其长度
- java 中几种map的存储原理和内存占用情况
- 字符串的存储方式,以及sizeof()(字符数组,字符指针,Sizeof总结)
- QList介绍(QList比QVector更快,这是由它们在内存中的存储方式决定的。QStringList是在QList的基础上针对字符串提供额外的函数。at()操作比操作符[]更快,因为它不需要深度复制)非常实用
- java 中几种map的存储原理和内存占用情况
- 【c进阶】mdk中字符串指针数组存储状况
- [转载]数组在内存中的存储方式
- 查看LINUX进程内存占用情况
- Java中基本数据类型的存储方式和相关内存的处理方式(java程序员必读经典)