在编译时或运行时是否评估过sizeof()语句? [重复]

问题描述 投票:-1回答:1

拥有像这样的东西是在浪费记忆吗?>

static const char size = sizeof(struct MyStruct);

如果它们在编译时求值,就像这样做;

static const char size = 10;
functioncall(size);
functioncall2(size);

哪个更合适:

#define STRUCTSIZE sizeof(struct MyStruct)

static const char size = sizeof(struct MyStruct);

如果在编译时评估sizeof,则在运行时为常量分配额外的内存。如果在编译时对其进行评估,那么我不妨使用一个宏来提高内存效率。但是,如果在运行时对它们进行评估,则此变量将节省处理能力,因为在我使用它时不必反复评估它。所以。是否在编译时或运行时评估sizeof语句?

是否在浪费内存,像静态const char size = sizeof(struct MyStruct);如果在编译时对它们进行求值,那就像在做;静态const char大小= 10; functioncall(...

c runtime sizeof compile-time
1个回答
3
投票

在C中,是否在编译时或运行时评估sizeof()语句?

© www.soinside.com 2019 - 2024. All rights reserved.