这是因为,定义变量,是要从内存中的堆空间或者栈空间分配空间给这个变量的,所以,出于安全及简单考虑,C语言不允许在变量定义之前有内存的操作.所以,即使你把“GPIO_InitTypeDef GPIO_InitStruct;”换成int a;也是不行的。C语言的升级版 C++允许在定义之前进行内存操作 ...