1,printf 函数计算参数时是从右向左压栈的
</pre><pre class="cpp" name="code">int a = 2;
printf("%d,%d", a, (++a));
//输出结果是 2,2
2,数据对齐规则
对于结构体来说,首先各变量根据定义的顺序按照自己的类型进行对齐,然后此结构体整体是以结构体中最大的数据类型的对齐方式进行的
例如
struct test1
{
int a;
char b;
double c;
};
//test1中,a占4个字节,b 占一个字节,c 占8个字节 ,则总体大小为4+4+8=16字节
struct test2
{
char b;
double c;
int a;
};
//test2中的实际大小为8+8+4=20,结构体以最大的数据类型进行对齐,则最终大小为24