【发布时间】:2010-11-17 11:49:13
【问题描述】:
char*、int*、long* 甚至 long long* 的大小是否相同(在给定平台上)?
【问题讨论】:
-
我的好奇心引出了一个问题:你为什么在乎? :-)
-
char c[100];诠释*我;我 = &c[0];我 = 0x5555u;问题:c[0] == 0x55u? c[1] == 0x55u?
-
将 char 的地址分配给指向 int 的指针并不是一个好主意......
-
@c-stranger:当然不能保证。如果机器是大端的,那么 c 的前两个字节将为 0。此外,不能保证 c 的对齐方式与 int 的对齐方式一样严格——尽管它可能是。
-
如果您正在编写可移植的 c,这是一个重要的问题,有一个带有指针的结构,并且您希望内存对齐。 brewx.qualcomm.com/bws/content/gi/common/appseng/en/…