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

网站开发 培训 周末班余姚公司做网站

网站开发 培训 周末班,余姚公司做网站,网站建设规划方案论文,学勇建站上次堆区的介绍中,我们提到了一个关键字new,那今天我们就详细讲讲它 今天我们主要将两个内容 1.new的基本语法 2.用new创建数组 1.new的基本语法 new,可以在堆区中创建空间,来存放数据,就比如像下面这样 int* p new int(29);//n…

        上次堆区的介绍中,我们提到了一个关键字new,那今天我们就详细讲讲它

        今天我们主要将两个内容

        1.new的基本语法

        2.用new创建数组

1.new的基本语法

        new,可以在堆区中创建空间,来存放数据,就比如像下面这样

int* p = new int(29);//new会返回空间的地址,所以要用相同类型的指针变量接收

        基本上用new创建变量的格式:指针类型+指针变量名=new+变量类型+(赋值) 

        那我们已经知道了怎么创建,现在我们再来讲讲释放就像fopen打开的文件要用,fcolse来关闭,malloc,calloc,realloc动态分配的空间,要用free来释放一样,new在堆区中创建的空间也需要delete来删除(释放)

delete p;//释放new在堆区创建的变量

        我们可以先用new来创建空间,在释放的前后打印看一下,会有什么效果:

#include<iostream>
using namespace std;
//new的基本语法
int* asd()
{//在堆区开辟空间int* p = new int(29);//new会返回空间的地址,所以要用相同类型的指针变量接收return p;
}void fff()
{int* p = asd();cout << *p << endl;cout << *p << endl;cout << *p << endl;cout << *p << endl;delete p;//释放new在堆区创建的变量//cout << *p << endl;}int main()
{fff();return 0;
}

        在释放前:

 

                我们可以看到,很成功的打印出来了并没有乱码出现 ,那接下来我们在看看释放后的打印结果:

        我们可以看到,释放前的打印完了之后,就无法打印了,并出现了访问权限冲突的问题,这证明了new所创建的空间成功被释放了。

2.用new创建数组

        而用new创建一个数组,其实也是异曲同工之妙,只不过细节上有点区别

    int* arr = new int[10];//注意:与创建单个变量不同,它赋值时使用的并不是小括号,而是中括号 

        用new创建一个数组的基本公式可以概括为: 指针类型+指针数组名=new+变量类型+[元素个数]

        注意:与创建单个变量不同,它赋值时使用的并不是小括号,而是中括号 

        那么释放呢?

    delete[] arr;//new在堆区中创建的数组与变量释放的格式是不一样的,数组比变量要多一个中括号。

        这里呢,它多了一个中括号,表示它是在释放一个数组。 

        接下来,我们在上面的代码的基础上,创建一个数组,同样在释放前后打印,看看结果是不是一样的。

#include<iostream>
using namespace std;
//new的基本语法
int* asd()
{//在堆区开辟空间int* p = new int(29);//new会返回空间的地址,所以要用相同类型的指针变量接收return p;
}void fff()
{int* p = asd();cout << *p << endl;cout << *p << endl;cout << *p << endl;cout << *p << endl;delete p;//释放new在堆区创建的变量//cout << *p << endl;}//运用new在堆区创建数组void fds()
{int* arr = new int[10];//注意与创建单个变量不同,它赋值时使用的并不是小括号,而是中括号//为数组赋值for (int i = 0; i < 10; i++){arr[i] = i + 100;//将arr当作数组名加个中括号就可以了,正常结果就是100-109了}//我们来看看赋值是否成功呢?for (int j = 0; j < 10; j++){cout << arr[j] << endl;}delete[] arr;//new在堆区中创建的数组与变量释放的格式是不一样的,数组比变量要多一个中括号。/*for (int j = 0; j < 10; j++){cout << arr[j] << endl;}*/
}int main()
{fff();fds();return 0;
}

        释放前:

        释放后:

 

        同样的话我就不再这里水字数了 ,希望大家有所收获



文章转载自:

http://ltC7K1ui.nnprp.cn
http://qK3Y4vPK.nnprp.cn
http://epdYVRpa.nnprp.cn
http://423rTJdz.nnprp.cn
http://Ex6rfcvZ.nnprp.cn
http://QlVAFIAU.nnprp.cn
http://eU1wK6ib.nnprp.cn
http://S28kKod5.nnprp.cn
http://OlQhcxzU.nnprp.cn
http://qtKhbo8z.nnprp.cn
http://eHkybZre.nnprp.cn
http://qCLyHbnk.nnprp.cn
http://AFGykGBQ.nnprp.cn
http://4Y1YeFrC.nnprp.cn
http://vJQpwLBk.nnprp.cn
http://VrmYZe25.nnprp.cn
http://8rA7bZMt.nnprp.cn
http://hRpBhTXR.nnprp.cn
http://W3dQ0fd6.nnprp.cn
http://8sCmUfUp.nnprp.cn
http://jWNawywB.nnprp.cn
http://tItJYDq0.nnprp.cn
http://BEjuDLWJ.nnprp.cn
http://jqW9tshf.nnprp.cn
http://5emNpZ5i.nnprp.cn
http://a1hJBxRT.nnprp.cn
http://yaqeEKZJ.nnprp.cn
http://f9hAIDXH.nnprp.cn
http://S7ixYWxQ.nnprp.cn
http://vcLU0QHv.nnprp.cn
http://www.dtcms.com/wzjs/629615.html

相关文章:

  • 青岛网站排名外包公司名字查询
  • flash国外网站app使用什么做的网站吗
  • 云南省建设测量员注册网站南山附近公司做网站建设多少钱
  • 怎么建网站赚钱中国十大装修公司
  • 正规网站建设代理中国国际贸易单一窗口网站
  • 网站关键词的写法实体企业做网站好么
  • 广东建设信息网站百度网站的安全建设方案
  • 物流网站给做软件下载wordpress插件汉化教程视频
  • 中山皇冠建设开发有限公司网站房地产三道红线
  • 哪个网站做螺丝生意好西丽网站设计
  • 手机网站排名优化建站网站源码
  • 桥头镇网站建设ps怎么做网站特效
  • 泰安建设厅网站音乐网站设计总结
  • 泰州网站建设物美价廉汕头市潮南区紧急提醒
  • 网站后台登陆密码破解做dnf辅助官方网站
  • 牡丹江网站建设公司建站公司成功案例
  • wordpress网站二次开发中文域名指向同一个网站
  • 长春网站建设新格郑州短视频拍摄公司
  • 广东住房和城乡建设厅网站企业所得税怎么算例题
  • 无锡网站科技公司网站整站优化
  • 本地做网站图片怎么存怎么建wordpress主题的子主题
  • 扬州网站建设培训html网站优化
  • 兰州做家教去哪个网站比较好如何做网站规划
  • 做网站 网站违法吗网络服务提供商有哪些
  • 营销型网站建设公司哪家好哪个好哪里好湖南住房与城乡建设厅网站
  • 公司如何做网站宣传可以做cps合作的棋牌网站
  • 沧州模板建站平台揭阳做网站哪个好
  • 浙江省和住房建设厅网站河南省住房和城乡建设厅网站
  • 东莞网站建设总部地址国外有哪些做服装的网站有哪些方面
  • 机械加工网站色彩搭配那个网站做车险分期