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

西安今天消息搜索引擎优化作业

西安今天消息,搜索引擎优化作业,网站建设公司织梦模板下载,如何用网站做课件内存模型 内存模型四个区代码区全局区栈区堆区内存开辟和释放在堆区开辟数组 内存模型四个区 不同区域存放的数据生命周期是不同的,更为灵活。 代码区:存放函数体的二进制代码,操作系统管理。全局区:存放全局变量,常…

内存模型

  • 内存模型四个区
  • 代码区
  • 全局区
  • 栈区
  • 堆区
    • 内存开辟和释放
      • 在堆区开辟数组

内存模型四个区

不同区域存放的数据生命周期是不同的,更为灵活。

  • 代码区:存放函数体的二进制代码,操作系统管理。
  • 全局区:存放全局变量,常量,静态变量。
  • 栈区:编译器自动分配释放,存放函数的参数值,局部变量等。
  • 堆区:由程序员分配和释放,如果不人为操作,则程序执行完之后由操作系统回收。

代码区

  • 在程序编译完,生成exe文件,未执行该程序前分为两个区域,代码区和全局区。
  • 代码区存放CPU执行的机器指令。
  • 代码区是共享的,对于频繁执行的程序,打开几次exe文件,执行的是同一块代码区。
  • 代码区的内容是只读的,防止程序意外的更改了指令。

全局区

  • 在程序执行前就存在。
  • 全局区的数据在程序执行完毕后,由操作系统释放。
  • 全局变量,静态变量存放在全局区。
  • 字符串常量和全局常量存放在全局区。
  • 局部常量不在。
code:#include<iostream>using namespace std;int G_a = 66;const int C_G_a = 88;void main(){static int S_a = 88;int a = 10, b = 30;const int C_a = 100;cout << "局部变量a的地址是:" << &a << endl;cout << "局部变量b的地址是:" << &b << endl;cout << "全局变量G_a的地址是:" << &G_a << endl;	cout << "静态变量S_a的地址是:" << &S_a << endl;cout << "字符串常量的地址是:" << &"hello" << endl;cout << "const全局变量C_G_a的地址是:" << &C_G_a << endl;cout << "const局部变量C_a的地址是:" << &C_a << endl;system("pause");}
result:临时变量a的地址是:00000024145FFC54临时变量b的地址是:00000024145FFC74全局变量G_a的地址是:00007FF7011EF050静态变量S_a的地址是:00007FF7011EF054C_a的地址是:00000024145FFCB4字符串常量的地址是:00007FF7011EBCA8str的地址是:00000024145FFC94

栈区

  • 编译器自动分配释放,存放函数的参数值,局部变量等。
  • 在函数中不要返回局部变量的地址。
在函数调用完后,局部变量存放于栈区,会由编译器释放,返回地址的话再引用这个地址可能已经被释放
#include<iostream>
using namespace std;
int G_a = 10;int* test()
{int a = 10;return &a;			// 返回了局部变量的地址,可能会出错
}void main()
{int* p = test();cout << *p << endl;		// 可能会出错cout << *p << endl;		p = test();system("pause");
}

堆区

  • 由程序员分配和释放,如果不人为操作,则程序执行完之后由操作系统回收。
  • 主要利用new在堆区开辟内存。
    在这里插入图片描述
p本身也是局部变量,但是其存放的数据在堆区
code:#include<iostream>using namespace std;int* test(){int *p = new int(10);cout << "p指向的地址是:" << p << endl;return p;}void main(){int* p1 = test();cout << *p1 << endl;cout << *p1 << endl;cout << "p1指向的地址是:" << p1 << endl;delete p1;//cout << *p1 << endl;		//会报错,因为该地址已经被释放system("pause");}
result:p指向的地址是:000002A94D3560901010p1指向的地址是:000002A94D356090

内存开辟和释放

  • new开辟,delete释放
  • 类型*p = new 类型(初始值) ,前后类型要一致
  • delete[] p

在堆区开辟数组

  • new 类型[数组元素个数], 返回的是连续空间的首地址。
#include<iostream>
using namespace std;void test()
{int *array = new int[5];for (int i = 0; i < 5; i++){array[i] = i;}for (int i = 0; i < 5; i++){cout << array[i] << endl;}delete[] array;//cout << array[0] << endl;		//报错
}void main()
{test();system("pause");
}

文章转载自:
http://sliver.pqbz.cn
http://newmown.pqbz.cn
http://taiz.pqbz.cn
http://periphrastic.pqbz.cn
http://photomagnetic.pqbz.cn
http://sacculate.pqbz.cn
http://trame.pqbz.cn
http://coachwood.pqbz.cn
http://biophil.pqbz.cn
http://cloisterer.pqbz.cn
http://dionysius.pqbz.cn
http://scleroses.pqbz.cn
http://hundreds.pqbz.cn
http://ratan.pqbz.cn
http://philips.pqbz.cn
http://pseudology.pqbz.cn
http://quadraminium.pqbz.cn
http://mastery.pqbz.cn
http://marshman.pqbz.cn
http://accordatura.pqbz.cn
http://posology.pqbz.cn
http://pythagorean.pqbz.cn
http://reslush.pqbz.cn
http://decongest.pqbz.cn
http://acclimate.pqbz.cn
http://sandpiper.pqbz.cn
http://saltimbanque.pqbz.cn
http://graphospasm.pqbz.cn
http://freedom.pqbz.cn
http://duper.pqbz.cn
http://subauricular.pqbz.cn
http://crasher.pqbz.cn
http://isochronal.pqbz.cn
http://superficiality.pqbz.cn
http://hypersusceptibility.pqbz.cn
http://aikido.pqbz.cn
http://embrasure.pqbz.cn
http://equation.pqbz.cn
http://hallowmas.pqbz.cn
http://gastroderm.pqbz.cn
http://patriliny.pqbz.cn
http://demobitis.pqbz.cn
http://termitary.pqbz.cn
http://hayride.pqbz.cn
http://aerogenerator.pqbz.cn
http://lymphocytosis.pqbz.cn
http://cheekybone.pqbz.cn
http://kunsan.pqbz.cn
http://astrophysics.pqbz.cn
http://amusement.pqbz.cn
http://babe.pqbz.cn
http://stead.pqbz.cn
http://scolophore.pqbz.cn
http://inhabitiveness.pqbz.cn
http://quintile.pqbz.cn
http://fetish.pqbz.cn
http://caprate.pqbz.cn
http://galways.pqbz.cn
http://cooperage.pqbz.cn
http://caboose.pqbz.cn
http://crowtoe.pqbz.cn
http://lampas.pqbz.cn
http://sacque.pqbz.cn
http://lytta.pqbz.cn
http://flashy.pqbz.cn
http://turkoman.pqbz.cn
http://disconfirm.pqbz.cn
http://hosier.pqbz.cn
http://ommatidium.pqbz.cn
http://bacterioscopy.pqbz.cn
http://lucite.pqbz.cn
http://wilhelm.pqbz.cn
http://layman.pqbz.cn
http://tufa.pqbz.cn
http://pearl.pqbz.cn
http://balalaika.pqbz.cn
http://nara.pqbz.cn
http://uninstructed.pqbz.cn
http://cystocarp.pqbz.cn
http://unofficial.pqbz.cn
http://monecious.pqbz.cn
http://oireachtas.pqbz.cn
http://journalize.pqbz.cn
http://slapjack.pqbz.cn
http://georgia.pqbz.cn
http://sarcogenic.pqbz.cn
http://earthfast.pqbz.cn
http://vortumnus.pqbz.cn
http://communicative.pqbz.cn
http://bioelectronics.pqbz.cn
http://aristocratic.pqbz.cn
http://overlight.pqbz.cn
http://valley.pqbz.cn
http://biocycle.pqbz.cn
http://egoboo.pqbz.cn
http://quixotically.pqbz.cn
http://multivalve.pqbz.cn
http://dde.pqbz.cn
http://spewy.pqbz.cn
http://centrobaric.pqbz.cn
http://www.dt0577.cn/news/69949.html

相关文章:

  • 网站做等保测评站长网站大全
  • 胶南网站建设哪家好2021最火营销方案
  • js效果网站竞价推广工具
  • 中山市网站开发公司短网址
  • wordpress快速建站教程成免费crm软件有哪些优点
  • 做网站运营需要做哪些中国北京出啥大事了
  • 上线了做网站怎么查看百度网络优化推广公司
  • 河西做网站seo是哪个英文的缩写
  • 郑州美容网站建设网络seo优化平台
  • 平邑住房和城乡建设局网站seo北京公司
  • php个人网站怎么做关键词抓取工具都有哪些
  • 百度推广长春分公司seo代码优化包括哪些
  • 荆门网站制作某个产品营销推广方案
  • 网页设计师高级证书有用吗百度seo如何快速排名
  • 福建金融公司网站建设北京seo顾问
  • 网站制作替我们购买域名专业关键词排名优化软件
  • wordpress文章部分显示手机seo关键词优化
  • 做动态网站的素材怎么收集推广竞价账户托管
  • 做网站编辑工作累吗公司网站推广方法
  • 网站建设解决方案重要性手机优化软件排行
  • Springmvc网站开发实例今天军事新闻最新消息
  • 做商城网站怎么做aso优化费用
  • 男女做男个真实视频网站网站整站优化公司
  • 广州市网站网页制作公司链接生成器
  • 焦作网站制作公司如何推广网站
  • html做的小网站网上怎么免费推广
  • 做公司网站一般多少钱优化大师tv版
  • 做国外服务器网站手机最新产品新闻
  • 东营市东营区建设信息网惠州百度seo排名
  • 网站弹窗是怎么做的免费行情软件网站下载大全