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

2019-03-23 17:50发布

if(!mallco_dev.memmap[memx][offset])cmemb++;//连续空内存块数增加
这句话我看不懂,怎么memmap是个二维数组了
u16 *memmap[SRAMBANK];   
这是前面定义的,是个数组指针
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
okwh
2019-03-24 19:53
本帖最后由 okwh 于 2017-1-26 15:28 编辑
大家都是好朋友 发表于 2017-1-26 14:54
学过51单片机的汇编,还有谭浩强先生的C语言设计。。。
我感觉好像C程序设计写的指针用法在单片机上好多 ...

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

其实即是在PC上 也可以在调试状态下对比反编译汇编看,只是PC的汇编要复杂些,人们都不愿意学了。 若只是针对特定部分知识来 对比C和汇编,也不难弄懂的。 我一般认为 从嵌入、汇编这儿出发去学习了解指针,就不会被那些 *&〔〕.->  符号搞晕了。那些符号联合混合使用时更是容易晕啊。

一周热门 更多>