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 – ()和[]动态分配有什么区别?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)