/*在结构体中最后零元素数组的妙用*/
#include <stdio.h>
typedef struct aa
{
int a;
double b[0];
};
int main()
{
struct aa bb;
int c=9;
printf("%x\n",&(bb.a));
printf("%x\n",&c);
return 0;
}
在GNU中,有一个特性就是零元素数组。在看kernel源码时经常能够看到。
作用:使得该结构体的有效元素的地址和后面元素的地址相邻。
result:
[root@localhost xiaowei]# ./a.out
f86ce2b0
f86ce2ac
栈是以向下的方式递增!