举例如下:高亮部分为计算方法。
注意点:字符串数组,即指针数组,所以不能直接像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) |