原文链接:http://geeksquiz.com/c-storage-classes-and-type-qualifiers-question-6/
考虑下列代码:
#include<stdio.h>
int main()
{
typedef static int *i;
int j;
i a = &j;
printf("%d", *a);
return 0;
}
这个编译的时候会报错,原因是,我们给一个static的变量赋予了一个j的地址。static的变量是在compile的时候赋予的内存,但是这里的j,int j,storage class属于auto,auto是在runtime的时候自动赋予内存,所以你相当于在compile的时候给a赋予了一个还没有的内存地址。所以会报错。