关于内存管理 C语言的问题

2019-03-23 17:50发布

if(!mallco_dev.memmap[memx][offset])cmemb++;//连续空内存块数增加
这句话我看不懂,怎么memmap是个二维数组了
u16 *memmap[SRAMBANK];   
这是前面定义的,是个数组指针
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
okwh
1楼-- · 2019-03-24 14:22
本帖最后由 okwh 于 2017-1-26 15:30 编辑

其实,过了指针这一关,c就没问题了。
本质上都是地址和内容,如何使用地址和内容--就衍生出各种各样的形式,这些形式确实很迷惑人的。
建议 对照c和对应的反汇编 一起看,可能就明白地快些了。
先学会嵌入系统指令中的各种寻址方式,就更好了。
咬牙精通一个指令系统,再看这语言那语言的 就如浮云了。
大家都是好朋友
2楼-- · 2019-03-24 17:20
 精彩回答 2  元偷偷看……
大家都是好朋友
3楼-- · 2019-03-24 19:36
白丁 发表于 2017-1-26 14:08
鬼子写的一本《征服C指针》不错,可以买来看一下,网上也有电子版

好滴
okwh
4楼-- · 2019-03-24 19:53
本帖最后由 okwh 于 2017-1-26 15:28 编辑
大家都是好朋友 发表于 2017-1-26 14:54
学过51单片机的汇编,还有谭浩强先生的C语言设计。。。
我感觉好像C程序设计写的指针用法在单片机上好多 ...

书上 更多为编译器、为人那一端设计。
嵌入这一端,基本上只用最有效最基本的数据结构-通常只有最基本的--数组指针或指针数组、表格查表、堆栈,
其他如链表、hash表之类的都基本不用。

其实即是在PC上 也可以在调试状态下对比反编译汇编看,只是PC的汇编要复杂些,人们都不愿意学了。 若只是针对特定部分知识来 对比C和汇编,也不难弄懂的。 我一般认为 从嵌入、汇编这儿出发去学习了解指针,就不会被那些 *&〔〕.->  符号搞晕了。那些符号联合混合使用时更是容易晕啊。
大家都是好朋友
5楼-- · 2019-03-24 23:59
 精彩回答 2  元偷偷看……
大家都是好朋友
6楼-- · 2019-03-25 00:03
okwh 发表于 2017-1-26 15:24
书上 更多为编译器、为人那一端设计。
嵌入这一端,基本上只用最有效最基本的数据结构-通常只有最基本 ...

PC的汇编是什么。。

一周热门 更多>