c - C中的字符串存储
问题描述
我试图帮助一个学生朋友理解他的 C 课(谈论指针,地址,...),他问我为什么在这张图片中 'e' 有内存地址 5004 为什么我们增加了 4 ?(4 代表什么?)我知道字符串存储可能取决于物理机拱门,但我想要一些简单的解释,因为我自己在 C 语言中没有那么强。
图片来自http://www.mathcs.emory.edu/~cheung/Courses/255/Syl-ARM/2-C-adv-data/string.html
解决方案
c 中的每个字符占用 1 个字节。我不确定这个图是否正确,因为内存通常是字节可寻址的,因此“e”应该距离“h”一个字节。
通常,内存地址增加 4,因为这是用于存储整数的字节数,整数是 c 中更常见的数据类型之一。
推荐阅读
- elasticsearch - 在弹性搜索中如何使用模糊搜索查询地名
- java - 我如何为我的更新编写 DAO 层\获取所有实体
- php - 如何在 Symfony 5 中删除“X-Robots-Tag”http 标头
- angular - Angular NgZorro Datepicker 不能使用 Moment
- python - python 的 time.sleep() 长时间的准确度如何?
- google-bigquery - 如何使用 BigQuery 命令行工具执行一次性 S3 数据传输?
- sorting - 在 Pine 脚本中排序
- c - 在C中的函数内更改数组的一些值
- reactjs - History.push 一个带有反应路由器的新标签的链接
- google-compute-engine - Google Compute Engine 上的内部 500 错误,安装最小的 jupyter