Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 전역 변수의 재선언을 위한 프로그램

<시간/>

초기화하지 않고 전역 변수를 재선언하고 초기화를 통해 전역 변수를 재선언하고 전역 변수를 재선언하고 두 번 초기화하는 경우 C와 C++가 어떻게 다르게 동작하는지 이해할 것입니다. 또한 위의 조합을 지역 변수로 반복합니다.

1. A) C 프로그램 :초기화 없이 전역변수 재선언

#include <stdio.h>
int var;
int var;
int main(){
   printf("Var = %d",var);
   return 0;
}

출력

Var = 0

나) C++ 프로그램 :초기화 없이 전역변수 재선언

#include <iostream>
using namespace std;
int var;
int var;
int main(){
   cout<<"Var = "<<var;
   return 0;
}

출력

Compilation Error: int var;
main.cpp:3:5: note: ‘int var’ previously declared here

결과 :- C는 초기화 없이 전역 변수의 재선언을 허용합니다. 값은 0으로 유지됩니다. C++는 변수가 다시 선언되었다는 컴파일 오류를 제공합니다.

2. A) C 프로그램 :초기화 없이 지역변수 재선언

#include <stdio.h>
#include <stdio.h>
int main(){
   int var;
   int var;
   printf("Var = %d",var);
   return 0;
}

출력

error: redeclaration of ‘var’ with no linkage

B) C++ 프로그램 :초기화 없이 지역변수 재선언

#include <iostream>
using namespace std;
int main(){
   int var;
   int var;
   cout<<"Var = "<<var;
   return 0;
}

출력

error: redeclaration of ‘int var’

결과 :- C와 C++ 모두 초기화가 완료되지 않은 지역 변수의 재선언을 허용하지 않습니다. 두 프로그램 모두 컴파일에 실패했습니다.

3. A) C 프로그램 :초기화를 통한 전역변수 재선언

#include <stdio.h>
int main(){
   int var;
   int var=10;
   printf("Var = %d",var);
   return 0;
}

출력

Var = 10

나) C++ 프로그램 :초기화를 통한 전역변수 재선언

#include <iostream>
using namespace std;
int var;
int var=10;
int main(){
   cout<<"Var = "<<var;
   return 0;
}

출력

main.cpp:7:9: error: redeclaration of ‘int var’
int var;

결과 :-C는 초기화되지 않은 전역 변수의 재선언을 허용합니다. 컴파일하는 동안 C++ 프로그램이 실패합니다.

4. A) C 프로그램 :초기화를 통한 전역변수 재선언

#include <stdio.h>
int var;
int var=10;
int main(){
   printf("Var = %d",var);
   return 0;
}

출력

error: redeclaration of ‘var’ with no linkage

나) C++ 프로그램 :초기화를 통한 지역변수 재선언

#include <iostream>
using namespace std;
int main(){
   int var;
   int var=10;
   cout<<"Var = "<<var;
   return 0;
}

출력

error: redeclaration of ‘int var
의 재선언

결과 :-C와 C++ 모두 초기화되지 않은 경우에도 지역 변수의 재선언을 허용하지 않습니다. 두 프로그램 모두 컴파일에 실패했습니다.