【发布时间】:2017-09-04 10:01:36
【问题描述】:
我有一个这样定义的结构:
typedef struct my_struct
{
int numbers[10];
}
*my_struct;
有没有办法知道它的大小?
sizeof(my_struct);// return size of a pointer
【问题讨论】:
-
sizeof(*my_struct);sizeof(struct my_struct)。另请参阅问题Is it a good idea to typedef pointers? — 剧透警告:简短的回答是“否”(除非它们是函数指针,也许)。 -
@JonathanLeffler:呃……你测试过吗?
my_struct是一种类型,而不是变量。 -
@KerrekSB:不。
sizeof(*my_struct)版本不起作用——期间(好吧,除非你用my_struct my_struct = NULL;或类似的奇怪的东西在脚上射击自己,否则不会)。我的错!我应该在几个小时前睡觉——这是一个草率的借口,但它必须这样做。 -
sizeof(struct my_struct) 为我工作,谢谢乔纳森·莱夫勒。
标签: c pointers struct typedef sizeof