c – ()和[]动态分配有什么区别?

c – ()和[]动态分配有什么区别?,第1张

概述任何人都可以解释以下两种形式之间的区别以及每种形式的作用: int *p = new int[5]; 和 int *p = new int(5); 询问 1)我们在两种情况下分配什么,即整数或数组? 2)两种情况下分配后的初始值是多少? 3)并从我可以找到的地方参考 new-expression的语法如下: >关键字new >括在括号中的可选参数 >类型 >可选的初始化程序 在new int [5 任何人都可以解释以下两种形式之间的区别以及每种形式的作用:

int *p = new int[5];

int *p = new int(5);

询问

1)我们在两种情况下分配什么,即整数或数组?

2)两种情况下分配后的初始值是多少?

3)并从我可以找到的地方参考

解决方法 new-Expression的语法如下:

>关键字new
>括在括号中的可选参数
>类型
>可选的初始化程序

在new int [5]中,类型是int [5],并且没有初始化器.因此,分配了5个int的数组,它们未被初始化,并且返回指向第一个元素的指针.

在new int(5)中,类型是int,初始化器是(5),因此分配了一个int,它用值5初始化(就像在int x(5);中一样),并且指向它的指针是回.

总结

以上是内存溢出为你收集整理的c – ()和[]动态分配有什么区别?全部内容,希望文章能够帮你解决c – ()和[]动态分配有什么区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1224044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存