
发表日期: 2021-04-25 09:44:37 浏览次数:97
淮安申请400电话费用【淮安企业全国热线电话办理】淮安开通400电话电信价格、淮安微信公众号代运营外包托管、淮安网店编辑装修美工、淮安网站推广优化大概需要多少钱
淮安位于江苏省中北部,江淮平原东部。地处长江三角洲地区, [1] 是苏北重要中心城市, [2] 南京都市圈紧密圈层城市,淮河生态经济带首提首推城市 [3] ,坐落于古淮河与京杭大运河交点,处在中国南北分界线“秦岭-淮河”线上,拥有中国第四大淡水湖洪泽湖,是全国文明城市 [4] 、国家历史文化名城、国家卫生城市、国家园林城市、国家环境保护模范城市、国家低碳试点城市、中国优秀旅游城市。为淮扬菜的主要发源地之一,是江淮流域古文化发源地之一。
淮安有2200多年建城史。秦时置县,境内有著名的“青莲岗文化”遗址。曾是漕运枢纽、盐运要冲,驻有漕运总督府、江南河道总督府。历史上与苏州、杭州、扬州并称运河沿线的“四大都市”,曾经淮安“因运而兴、因运而盛” [5] ,有“中国运河之都”的美誉。中国大运河淮安段入选世界遗产名录。淮安地处江苏省长江以北的核心地区,邻江近海,为南下北上的交通要道,区位优势独特。是江苏省的重要交通枢纽,也是长江三角洲北部地区的区域交通枢纽。
淮安人杰地灵,是一代伟人周恩来总理的故乡。 [6] 历史上诞生过大军事家韩信、汉赋大家枚乘、巾帼英雄梁红玉、《西游记》作者吴承恩、民族英雄关天培、《老残游记》作者刘鹗等。 [7]
淮安有著名的红色旅游景区周恩来故里景区、刘老庄八十二烈士陵园、黄花塘新四军军部纪念馆、苏皖边区政府旧址纪念馆等,生态旅游景区古淮河文化生态景区、里运河文化长廊、洪泽湖古堰景区、第一山国家森林公园、清晏园、金湖水上森林公园等。
注意 每次调用
malloc(或类似函数),程序结束时必须有对应的free函数调用,以防止内存泄漏。
一旦内存被释放,就不应该再访问它了。通常我们不会在释放内存后有意去访问,不过也存在意外访问的情况。这时系统的行为将依赖于实现。通常的做法总是把被释放的指针赋值为NULL。
分配内存时,堆管理器维护的数据结构中会保存额外的信息。这些信息包括块大小和其他一些东西,通常放在紧挨着分配块的位置。如果应用程序的写入操作超出了这块内存,数据结构可能会被破坏。这可能会造成程序奇怪的行为或者堆损坏。
考虑如下代码段,我们为字符串分配内存,让它可以存放最多5个字符外加结尾的NUL字符。for循环在每个位置写入0,但是没有在写入6字节后停止。for语句的结束条件是写入8字节。写入的0是二进制0而不是ASCII字符0的值。
char *pc = (char*) malloc(6);for(int i=0; i<8; i++) {
*pc[i] = 0;}复制代码在图2-2中,6字节的字符串后面还分配了额外的内存,这是堆管理器用来记录内存分配的。如果我们越过字符串的结尾边界写入,额外的内存中的数据会损坏。在本例中,额外的内存跟在字符串后面。不过,实际的位置和原始信息取决于编译器。

图2-2:堆管理器用到的额外内存
如果不再使用已分配的内存却没有将其释放就会发生内存泄漏,导致内存泄漏的情况可能如下:
丢失内存地址;
应该调用free函数却没有调用(有时候也称为隐式泄漏)。
内存泄漏的一个问题是无法回收内存并重复利用,堆管理器可用的内存将变少。如果内存不断地被分配并丢失,那么当需要更多内存而malloc又不能分配时程序可能会终止,因为它用光了内存。在极端情况下,操作系统可能崩溃。
下面这个简单的例子可以说明这个问题:
char *chunk;while (1) {
chunk = (char*) malloc(1000000);
printf("Allocating\n");}复制代码chunk变量指向堆上的内存。然而,在它指向另一块内存之前没有释放这块内存。最终,程序会用光内存然后非正常终止,即使没有终止,至少内存的利用效率也不高。
1. 丢失地址
下面的代码段说明了当pi被赋值为一个新地址时丢失内存地址的例子。当pi又指向第二次分配的内存时,第一次分配的内存地址就会丢失。
int *pi = (int*) malloc(sizeof(int));*pi = 5;...pi = (int*) malloc(sizeof(int));复制代码
图2-3说明了这一点,“前”和“后”分别表示在执行第二次malloc之前和之后的程序状态。由于没有释放地址500处的内存,程序已经没有地方持有这个地址。

图2-3:丢失地址
下面这个例子是为字符串分配内存,将其初始化,并逐个打印字符串:
char *name = (char*)malloc(strlen("Susan")+1);strcpy(name,"Susan");while(*name != 0) {
printf("%c",*name);
name++;}复制代码然而每次迭代name都会增加1,最后name会指向字符串结尾的NUL字符,如图2-4所示,分配内存的起始地址丢失了。

图2-4:丢失动态分配的内存的地址

淮安申请400电话费用【淮安企业全国热线电话办理】淮安开通400电话电信价格、淮安微信公众号代运营外包托管、淮安网店编辑装修美工、淮安网站推广优化大概需要多少钱
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878