greatsnows的笔记 https://bbs.21ic.com/?355805 [收藏] [复制] [RSS]

日志

分配内存:malloc() 和 free()初步研究。

已有 580 次阅读2006-1-14 15:00

起因:
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仿真文件。


TWI.rar


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)