_嵌入式开发_

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年4月12日

摘要: 在某些情况下,如下代码char *str =(char *) malloc(100);if(str!=NULL) { strcpy(str, "hello"); free(str);} printf(str);可能会打印出hello。(不推荐这么做,这里只是说明问题。)free到底释放的是什么?解释一:C标准没有规定free掉的数据应该是什么。只是说:free掉的内存不要再用。free只是告诉系统,这块内存我不要了,你可以再分配给别人用。系统不一定立即修改里面的内容(取决于编译器和操作系统)。解释二:只是把这块(内存)还给操作系统让,别的程序可以malloc到,但你有指向他 阅读全文
posted @ 2012-04-12 16:32 _嵌入式开发_ 阅读(376) 评论(0) 推荐(1)

摘要: 一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)请写出 BOOL flag 与“零值”比较的 if 语句。(3分)标准答案: if ( flag ) if ( !flag )如下写法均属不良风格,不得分。if (flag == TRUE)if (flag == 1 )if (flag == FALSE)if (flag == 0)请写出 float x 与“零值”比较的 if 语句。(4分)标准答案示例:const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EP 阅读全文
posted @ 2012-04-12 15:50 _嵌入式开发_ 阅读(378) 评论(0) 推荐(0)