I'm experimenting with what I came up with about the scope of variables in the C language.
By definition extern variable can be accessible in another files. in my code extern variable is defined in source.c file and I want to access it in source1. C file but I can't access the extern variable in source1.c files.
I have compiled the code on Visual Studio
source.c
source1.c
Output terminal
Program show error "identifier "Extern_Variable" is undefined Project1"
By definition extern variable can be accessible in another files. in my code extern variable is defined in source.c file and I want to access it in source1. C file but I can't access the extern variable in source1.c files.
I have compiled the code on Visual Studio
source.c
C:
#include<stdio.h>
/* file scope begin for source.c file */
int Global_Variable = 2;
static int Static_Global_Variable = 3;
extern int Extern_Variable = 4;
/* local scope begin for foo */
void foo()
{
int LOCAL_Variable = 10;
int Static_LOCAL_Variable = 11;
printf("Global Variable in foo = %d \n", Global_Variable);
printf("Static Global Variable in foo = %d \n", Static_Global_Variable);
printf("Extern Variable in foo = %d \n", Extern_Variable);
printf("LOCAL Variable = %d \n", LOCAL_Variable);
printf("Static LOCAL Variable = %d \n", Static_LOCAL_Variable);
} /* local scope end for foo*/
/* local scope begin for main */
int main()
{
int Variable = 1;
printf("Variable in main = %d \n", Variable);
printf("Global Variable in main = %d \n", Global_Variable);
printf("Static Global Variable in main = %d \n", Static_Global_Variable);
printf("Extern Variable in main = %d \n", Extern_Variable);
printf("\n");
foo();
return 0;
} /* local scope end for main*/
/* file scope end for source.c file */
C:
#include<stdio.h>
void calculation()
{
printf("Extern Variable in main = %d \n", Extern_Variable);
printf("Global Variable in main = %d \n", Global_Variable);
}
Program show error "identifier "Extern_Variable" is undefined Project1"
Last edited: