Я определил глобальную переменную SEIS_FORMAT
как целое число.Но когда я использую его во внешней функции, я определяю его как массив SEIS_FORMAT[6]
и использую его как SEIS_FORMAT[0]
следующим образом:
1.MAIN () код:
#include "head.h"
int SEIS_FORMAT=5; /*global variable*/
int main()
{
int a=2;
float b=3.5;
f1(&a, &b);
return 0;
}
код 2.function: "f1.c"
#include "head.h"
void f1(int *a, float *b)
{
extern int SEIS_FORMAT[6]; //different from the main()
printf("a=%d,b=%f,c=%d\n",*a,*b,SEIS_FORMAT[0]); //notice the use of SEIS_FORMAT
}
Почему я всегда могу получить правильный ответ: a=2,b=3.500000,c=5
?Определения SEIS_FORMAT
эквивалентны друг другу?