当前位置: 首页 > news >正文

j2ee网站开发开题报告网站集约化建设纪要

j2ee网站开发开题报告,网站集约化建设纪要,电子商务网站规划报告,WordPress发的文章怎么删文章目录 前言一、指针1.使用new创建动态结构例子#xff1a;使用new和delete 2.自动存储、静态存储和动态存储1.自动存储2.静态存储3.动态存储 总结 前言 依旧是指针部分ヾ(◍∇◍)#xff89;#xff9e; 一、指针 1.使用new创建动态结构 将new用于结构由两步组成:创建… 文章目录 前言一、指针1.使用new创建动态结构例子使用new和delete 2.自动存储、静态存储和动态存储1.自动存储2.静态存储3.动态存储 总结 前言 依旧是指针部分ヾ(◍°∇°◍) 一、指针 1.使用new创建动态结构 将new用于结构由两步组成:创建结构和访问其成员。要创建结构需要同时使用结构类型和new。例如要创建一个未命名的inflatable 类型并将其地址赋给一个指针可以这样做: inflatable *ps new inflatable;这将把足以存储 infatable 结构的一块可用内存的地址赋给 ps。这种句法和 C的内置类型完全相同。比较棘手的一步是访问成员。创建动态结构时不能将成员运算符句点用于结构名因为这种结构没有名称只是知道它的地址。 C专门为这种情况提供了一个运算符:箭头成员运算符(-)。该运算符由连字符和大于号组成可用于指向结构的指针就像点运算符可用于结构名一样。例如如果ps指向一个inflatable 结构则ps-price 是被指向的结构的 price 成员。 另一种访问结构成员的方法是如果ps是指向结构的指针则 * ps就是被指向的值。由于*ps是一个结构因此(*ps).price是该结构的 price成员。C的运算符优先规则要求使用括号。 例子使用new和delete #include iostream #include cstring using namespace std; char *getname(void); int main() {char *name;name getname();//assign address of string to namecoutnameat(int *)name \n;delete []name ;//memory freedname getname();coutname at (int *)name \n;delete []name;return 0; } char *getname() {char temp[80];//temporary storagechar temp[80];cout Enter last name:;cin temp;char *pnnew char[strlen(temp)1];strcpy(pn,temp);//copy string into smaller spacereturn pn;//temp lost when function ends }getname()使用 cin 将输入的单词放到temp数组中, 然后使用 new分配新内存以存储该单词。 程序需要strlen(temp)1个字符(包括空字符)来存储该字符串因此将这个值提供给 new。获得空间后getname()使用标准库函数strcpy()将temp中的字符串复制到新的内存块中。该函数并不检查内存块是否能够容纳字符串但getname()通过使用new 请求合适的字节数来完成了这样的工作。最后函数返回pn这是字符串副本的地址。在 main()中返回值(地址)被赋给指针 name。该指针是在 main()中定义的但它指向 getname()函数中分配的内存块。然后程序打印该字符串及其地址。接下来在释放 name指向的内存块后main()再次调用 getname()。 C不保证新释放的内存就是下一次使用 new 时选择的内存. 2.自动存储、静态存储和动态存储 1.自动存储 在函数内部定义的常规变量使用自动存储空间被称为自动变量这意味着它们在所属的函数被调用时自动产生,在该函数结束时消亡。例如,上述例子的temp数组仅当 getname()函数活动时存在。当程序控制权回到 main()时temp使用的内存将自动被释放。 自动变量是一个局部变量其作用域为包含它的代码块。代码块是被包含在花括号中的一段代码。到目前为止我们使用的所有代码块都是整个函数。然而在下一章将会看到函数内也可以有代码块。如果在其中的某个代码块定义了一个变量则该变量仅在程序执行该代码块中的代码时存在。自动变量通常存储在栈中。这意味着执行代码块时其中的变量将依次加入到栈中而在离开代码块时将按相反的顺序释放这些变量这被称为后进先出(LIFO)。因此在程序执行过程中栈将不断地增大和缩小。 2.静态存储 静态存储是整个程序执行期间都存在的存储方式。使变量成为静态的方式有两种:一种是在函数外面定义它;另一种是在声明变量时使用关键字static: static double fee 56.50;能初始化静态数组和静态结构也可以初始化自动数组和自动结构。不过有些C实现还不支持对自动数组和自动结构的初始化。 第9章将详细介绍静态存储。自动存储和静态存储的关键在于: 这些方法严格地限制了变量的寿命。 变量可能存在于程序的整个生命周期(静态变量)也可能只是在特定函数被执行时存在(自动变量)。 3.动态存储 new 和 delete 运算符提供了一种比自动变量和静态变量更灵活的方法。它们管理了一个内存池这在 C中被称为自由存储空间(free store)或堆(heap)。该内存池同用于静态变量和自动变量的内存是分开的。 new 和 delete 能够在一个函数中分配内存而在另一个函数中释放它。因此数据的生命周期不完全受程序或函数的生存时间控制。与使用常规变量相比使用new和delete 让程序员对程序如何使用内存有更大的控制权。然而内存管理也更复杂了。在栈中自动添加和删除机制使得占用的内存总是连续的但 new 和 delete 的相互影响可能导致占用的自由存储区不连续这使得跟踪新分配内存的位置更困难。 总结 指针是功能最强大的 C工具之一但也最危险因为它们允许执行对计算机不友好的操作如使用未经初始化的指针来访问内存或者试图释放同一个内存块两次。另外在通过实践习惯指针表示法和指针概念之前指针是容易引起迷惑的。由于指针是 C编程的重要组成部分后面将更详细地讨论它。
http://www.w-s-a.com/news/954697/

相关文章:

  • 微网站营销是什么私人订制网站有哪些
  • 浙江建设工程合同备案网站新手做网站教程
  • 网站优化关键词排名自己怎么做wordpress安装主题失败
  • 成都建设银行招聘网站网站的切换语言都是怎么做的
  • 网站网业设计wordpress 很差
  • 网站开发软件著作权归谁网站悬浮窗广告
  • 如何提升网站alexa排名货运网站源码
  • 如何看自己网站流量梧州网站设计理念
  • 商城网站建设特点有哪些信息门户
  • 弄一个网站临沂有哪几家做网站的
  • 广州个人网站制作公司网站建设公司价
  • 免费建设网站赚钱小程序开发文档pdf
  • ucenter 整合两个数据库网站网店推广技巧
  • 网站优化排名提升百度wap
  • 八里河风景区网站建设内容摘要网站开发基础学习
  • 上海做外贸网站的公司智慧团建网站登陆平台
  • 上海商务网站建设如何做的网站手机可以用吗
  • 产品推广营销方案seo推广员招聘
  • 做水利网站需要多少钱山东市网站建设
  • 做网站找哪里如何修改wordpress颜色
  • 招商加盟网站系统站长工具 seo查询
  • 工商局网站清算组备案怎么做电商培训机构
  • 做好门户网站建设做本地团购网站怎么样
  • wordpress主题和预览不同20条优化防疫措施方案
  • 艾奇视觉网站建设网站推广需要几个人做
  • 2008 iis 添加网站wordpress固定链接标签加上页面
  • 宁波企业网站制作推荐网站优化人员
  • 大型资讯门户网站怎么做排名沈阳建设工程有限公司
  • 开发中英文切换网站如何做江苏网站建设费用
  • 网站论文首页布局技巧桥东网站建设