起因:
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=573273&bbs_page_no=1&bbs_id=1000
经过:
我查阅了c语言的书后(c primer plus),惊喜地发现可以用malloc()动态开辟出一块内存,这块内存直到调用free()函数才释放。否这将永远保留,除非系统断电。
大致操作过程:
#include <stdlib.h> // 提供函数原形。
...
int main(void)
{
...
char *p; // 定义指向内存池的指针
...
p = (char *)malloc(size)// 申请size大小的内存池,并用"p"指向它
...
p = value; // 给内存池赋值
p[i+1] = value1;
...
get_value = p[i+n]; // 操作得到的数据
...
free(*p); // 释放内存池
}
另附:avrstudio工程文件,内含proteus仿真文件。