【发布时间】:2010-12-26 07:12:39
【问题描述】:
在 C 中,我有一个结构数组,定义如下:
struct D
{
char *a;
char *b;
char *c;
};
static struct D a[] = {
{
"1a",
"1b",
"1c"
},
{
"2a",
"2b",
"2c"
}
};
我想确定数组中元素的数量,但sizeof(a) 返回的结果不正确:48,而不是 2。我做错了什么,还是sizeof 在这里根本不可靠?如果这很重要,我将使用GCC 4.4 进行编译。
【问题讨论】:
-
请参阅 stackoverflow.com/questions/1598773/… 以获取包含一些技巧的答案,以使下面发布的技术更安全。