码迷,mamicode.com
首页 > 其他好文 > 详细

关于sizeof

时间:2016-04-11 20:33:01      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

sizeof是求占用的内存空间的大小,并不是指数组长度。(strlen 的长度只适合char*类型)

例如.

int a[10]={0};

数组a的长度为sizeof(a)/sizeof(a[0])——所有占用内存空间/单个元素占用的内存空间=个数

 

对于int a[10], a自己就是数组
对于int *p = new int[10], p本身不是数组,它指向的对象才是数组,但是p不包含它所指向的对象更详细信息(它不知道它指向了多少个元素。确实,即使用sizeof(*p)也还是得到4),因此你无法用sizeof计算,因为sizeof(p)计算的不是数组的大小,而是数组的开始地址大小,这个在绝大多数系统中都是4(intel的一种实时系统iRmx是6)

 

 

 

关于sizeof

标签:

原文地址:http://www.cnblogs.com/Daringoo/p/5379906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!