Chinaunix首页 | 论坛 | 博客
  • 博客访问: 379645
  • 博文数量: 87
  • 博客积分: 983
  • 博客等级: 准尉
  • 技术积分: 685
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-25 07:20
文章分类

全部博文(87)

文章存档

2016年(1)

2015年(3)

2014年(55)

2013年(13)

2012年(15)

分类: C/C++

2014-04-26 10:51:18

举例如下:高亮部分为计算方法。
注意点:字符串数组,即指针数组,所以不能直接像sizeof(数组名)那样得到,variant_keys中每一成员都是一个指针,所以sizeof(variant_keys[0])的值为4。即variant_keys[0]代表的是一个指针(指向只读变量)。所有,有多少个指针就有多少个字符串。因为variant_keys是 指针数组 ,不是指针,所以sizeof(variant_keys)不是4,而是整数组存储空间的大小(5*4)。

#include

static const char *variant_keys[] = {
    "ro.hardware",
    "ro.product.board",
    "ro.board.platform",
    "ro.arch",
    "omg"
};


int main(void)
{
    printf("sizeof(variant_keys) %d\n", sizeof(variant_keys));
    printf("sizeof(variant_keys[0]) %d\n", sizeof(variant_keys[0]));
    printf("sizeof(variant_keys)/sizeof(variant_keys[0]) %d\n", sizeof(variant_keys)/sizeof(variant_keys[0]));
    return 0;
}
阅读(1317) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~