
发表日期: 2021-04-25 09:41:11 浏览次数:107
淮安400电话申请开通【淮安企业网站建设】淮安微信公众号小程序开发运营价格、淮安微信公众号APP软件客户端设计运营、淮安网页页面设计公司费用、淮安公司网站制作方案流程改版维护大概需要多少钱
淮安位于江苏省中北部,江淮平原东部。地处长江三角洲地区, [1] 是苏北重要中心城市, [2] 南京都市圈紧密圈层城市,淮河生态经济带首提首推城市 [3] ,坐落于古淮河与京杭大运河交点,处在中国南北分界线“秦岭-淮河”线上,拥有中国第四大淡水湖洪泽湖,是全国文明城市 [4] 、国家历史文化名城、国家卫生城市、国家园林城市、国家环境保护模范城市、国家低碳试点城市、中国优秀旅游城市。为淮扬菜的主要发源地之一,是江淮流域古文化发源地之一。
淮安有2200多年建城史。秦时置县,境内有著名的“青莲岗文化”遗址。曾是漕运枢纽、盐运要冲,驻有漕运总督府、江南河道总督府。历史上与苏州、杭州、扬州并称运河沿线的“四大都市”,曾经淮安“因运而兴、因运而盛” [5] ,有“中国运河之都”的美誉。中国大运河淮安段入选世界遗产名录。淮安地处江苏省长江以北的核心地区,邻江近海,为南下北上的交通要道,区位优势独特。是江苏省的重要交通枢纽,也是长江三角洲北部地区的区域交通枢纽。
淮安人杰地灵,是一代伟人周恩来总理的故乡。 [6] 历史上诞生过大军事家韩信、汉赋大家枚乘、巾帼英雄梁红玉、《西游记》作者吴承恩、民族英雄关天培、《老残游记》作者刘鹗等。 [7]
淮安有著名的红色旅游景区周恩来故里景区、刘老庄八十二烈士陵园、黄花塘新四军军部纪念馆、苏皖边区政府旧址纪念馆等,生态旅游景区古淮河文化生态景区、里运河文化长廊、洪泽湖古堰景区、第一山国家森林公园、清晏园、金湖水上森林公园等。
作者/Richard Reese
华盛顿州塔尔顿州立大学副教授。自2002年起在塔尔顿州立大学教授计算机科学课程,此前在洛克希德·马丁公司做过十年的软件开发。Reese著有多本技术图书,包括Oracle Certified Associate,Java SE 7 Programmer Study Guide,Java 7 New Features Cookbook,EJB 3.1 CookBook等。
指针强大的功能源于它们能追踪动态分配的内存。通过指针来管理这部分内存是很多操作的基础,包括一些用来处理复杂数据结构的操作。要完全利用这些能力,需要理解C的动态内存管理是怎么回事。
C程序在运行时环境中执行,这通常是由操作系统提供的环境,支持栈和堆以及其他的程序行为。
内存管理对所有程序来说都很重要。有时候内存由运行时系统隐式地管理,比如为自动变量分配内存。在这种情况下,变量分配在它所处的函数的栈帧上。如果是静态或全局变量,内存处于程序的数据段,会被自动清零。数据段是一个区别于可执行代码和运行时系统管理的其他数据的内存区域。
由于可以先分配内存然后释放,因而应用程序可以更灵活高效地管理内存,无需为适应数据结构可能的最大长度分配内存,只要分配实际需要的内存即可。
比如,在C99以前数组是固定长度的。如果我们要持有可变数量的元素,比如员工记录,可能就必须声明一个足够大的数组来装下可能的最大员工数。如果我们低估了这个值,那就只能重新编译应用程序或是采用别的办法。如果高估了,那就会浪费空间。动态分配内存的能力也对使用链表或队列等可变数量元素的数据结构有帮助。
注意 C99引入了变长数组(VLA)。数组长度在运行时而不是编译时确定。不过,数组一旦创建出来就不能再改变长度了。
像C这类语言也支持动态内存管理,对象就是从堆上分配出来的内存。这是用分配和释放函数手动实现的,这个过程被称为动态内存管理。
接下来我们首先概述如何分配和释放内存。然后讲解基本的分配函数,如malloc和realloc,还有free函数,包括NULL的使用和重复释放这类问题。
迷途指针是个常见问题。我们会通过示例说明什么情况下出现迷途指针以及处理这种问题的技术。最后讲解内存管理的其他技术。指针使用不当会造成不可预期的行为,这么说的意思是程序可能产生无效结果,损坏数据或者终止程序。
在C中动态分配内存的基本步骤有:
1.用malloc类的函数分配内存;
2.用这些内存支持应用程序;
3.用free函数释放内存。
这个方法在具体操作上可能存在一些小变化,不过这里列出的是最常见的。在下例中,我们用malloc函数为整数分配内存。指针将分配的内存赋值为5,然后内存被free函数释放。
int *pi = (int*) malloc(sizeof(int));*pi = 5;printf("*pi: %d\n", *pi);free(pi);复制代码当这段代码执行时会打印数字5。图2-1说明了在free函数执行之前内存如何分配。为方便说明问题,除非特别指出,我们假定示例代码出现在main函数中。

图2-1:整数的内存分配
malloc函数的参数指定要分配的字节数。如果成功,它会返回从堆上分配的内存的指针。如果失败则会返回空指针。后面再讨论测试所分配内存的指针是否有效。sizeof操作符使应用程序更容易移植,还能确定在宿主系统中应该分配的正确的字节数。
在本例中,我们试图为整数分配足够多的内存。假定长度是4,我们可以这么写:
int *pi = (int*) malloc(4));复制代码
然而,依赖于系统所用的内存模型,整数的长度可能会发生变化。可移植的方法是使用sizeof操作符,这样不管程序在哪里运行都会返回正确的长度。
注意 涉及解引操作的常见错误见下面的代码:
int *pi; *pi = (int*) malloc(sizeof(int));复制代码问题出在赋值符号的左边。我们在解引指针,这样会把
malloc函数返回的地址赋给pi中存放的地址所在的内存单元。如果这是第一次对指针进行赋值操作,那指针所包含的地址可能无效。正确的方法如下所示:pi = (int*) malloc(sizeof(int));复制代码这种情况下不应该用解引操作符。
稍后也会深入讨论free函数,它和malloc协同工作,不再需要内存时将其释放。

淮安400电话申请开通【淮安企业网站建设】淮安微信公众号小程序开发运营价格、淮安微信公众号APP软件客户端设计运营、淮安网页页面设计公司费用、淮安公司网站制作方案流程改版维护大概需要多少钱
服务热线
顶部
备案号: 苏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