c小白求教指针问题(定义指针变量的位置)

请教问什么1和2都可以编译通过,但是写到3的位置报错呢

#include <stdio.h>
int main(){
   int a = 10;
   int b = 100;
   int c = 1;
  // 1.int *d = &c;
   int *point_1,*point_2;
  //2. int *d = &c;
   point_1 = &a;
   point_2 = &b;
   //3.int *d = &c;
   printf("*point_1=%d,*point_2=%d\n",*point_1,*point_2);
   return 0;
}

C标准的语法,变量定义必须放在模块的开始处,功能语句之前。放在之后,编译就会报错的。

变量的定义,放在语句之前。否则,有些编译器会报错。

编译器太老了,需要C99以上标准的编译器,VC6就不支持C99

这个估计要看编译器的种类了