int *a=new int[(len+1)*sizeof(int)];

[复制链接]
查看11 | 回复3 | 2016-2-24 15:49:53 | 显示全部楼层 |阅读模式
这句话是什么意思a ?

回复

使用道具 举报

千问 | 2016-2-24 15:49:53 | 显示全部楼层
直观上很好理解,在new一个int的数组,数组的长度是存储int类型所需要的byte数与(len+1)的乘积。但是,很难理解为什么会产生这样的数组长度要求,看起来更像是要求数组长度为(len+1),那样的话本句应该是int *a = new int[len + 1];。
回复

使用道具 举报

千问 | 2016-2-24 15:49:53 | 显示全部楼层
a是一个整形指针,指向整形的值为(len+1)*sizeof(int)。
回复

使用道具 举报

千问 | 2016-2-24 15:49:53 | 显示全部楼层
new就是按照后面的要求新分配的一个区域,后面是按照整形的长度
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行