为了账号安全,请及时绑定邮箱和手机立即绑定

Coordinate *p = new Coordinate 是定义了一个指针还是一个指针数组?

Coordinate *p = new Coordinate 是定义了一个指针还是一个指针数组?

正在回答

2 回答

Coordinate *p = new Coordinate();是一个指针

Coordinate *p = new Coordinate[3];是一个指针数组


0 回复 有任何疑惑可以回复我~

严格来说,这既不是一个指针,也不是一个数组,只是一片或多片连续的堆空间而已,刚开始指针类型*p空间是未知的,它由new方法,开辟一个连续的空间,以便数据存储或访问。只是这片空间由符号p进行表示而已。p+1 p+2 ...只是多个这样类似的连续的空间。而在c语言中指针数组是不连续的空间,malloc开辟的空间数组名不能代替数组首元素地址。其空间也是固定的,很容易造成实际存储的元素大小大于预设的空间长度。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

Coordinate *p = new Coordinate 是定义了一个指针还是一个指针数组?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信