【发布时间】:2017-11-21 11:08:51
【问题描述】:
我的问题是 sizeof(char) 是 1 字节,但是在执行下面的代码时为什么我得到错误的输出。请帮助我。谢谢
typedef struct {
int x;
int y;
char a;
}Point2D;
main() {
Point2D *myPoint=malloc(sizeof(Point2D));
NSLog(@"sizeof(Point2D): %zu", sizeof(Point2D));
}
输出:sizeof(Point2D) : 12 //但它应该返回 9 [int + int + char / 4 + 4 + 1]
注意:单独运行 char 时,我得到了正确的输出
例子:
typedef struct {
char a;
char b;
}Point2D;
main() {
Point2D *myPoint=malloc(sizeof(Point2D));
NSLog(@"sizeof(Point2D): %zu", sizeof(char));
}
输出:sizeof(char) : 2
【问题讨论】:
标签: ios objective-c xcode