Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengisytiharan semula pembolehubah global dalam program C

Pengisytiharan semula pembolehubah global dalam program C

WBOY
WBOYke hadapan
2023-09-20 22:29:051253semak imbas

Pengisytiharan semula pembolehubah global dalam program C

Kita akan melihat bagaimana C dan C++ berkelakuan berbeza apabila mengisytiharkan semula pembolehubah global tanpa pengamulaan, mengisytiharkan semula pembolehubah global dengan permulaan, mengisytiharkan semula pembolehubah global dan memulakannya dua kali. Selain itu, kami akan mengulangi gabungan di atas menggunakan pembolehubah tempatan.

1. A) Program C: Pengisytiharan semula pembolehubah global tanpa pemula

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

Output

Var = 0

B) Program C++: Pengisytiharan semula pembolehubah global tanpa pemula

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

Output

Compilation Error: int var;
main.cpp:3:5: note: &lsquo;int var&rsquo; previously declared here

C++ Benarkan pembolehubah global diisytiharkan semula tanpa permulaan. Nilainya masih 0. C++ memberikan ralat kompilasi yang menunjukkan bahawa pembolehubah telah diisytiharkan semula.

2. A) Program C: Pengisytiharan semula pembolehubah tempatan tanpa pemula

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

Output

error: redeclaration of &lsquo;var&rsquo; with no linkage

B) Program C++: Pengisytiharan semula pembolehubah tempatan tanpa pemula

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

Output

error: redeclaration of &lsquo;int var&rsquo;

C++ Baik C++ mahupun C++ tidak membenarkan pengisytiharan semula pembolehubah tempatan tanpa permulaan. Kedua-dua program gagal untuk disusun.

3. A) Program C: Isytihar semula pembolehubah global dengan pemulaan

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

Output

Var = 10

B) Program C++: Isytiharkan semula pembolehubah global dengan pemula

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

Output

main.cpp:7:9: error: redeclaration of &lsquo;int var&rsquo;
int var;

rreee

membenarkan semula -🎎 Pembolehubah global yang tidak dimulakan. Penyusunan program C++ gagal.

4. A) Program C: Isytihar semula pembolehubah global dan mulakan

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

Output

error: redeclaration of &lsquo;var&rsquo; with no linkage

B) Program C++: Isytiharkan semula pembolehubah tempatan melalui pemulaan

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

Output

error: redeclaration of &lsquo;int var
Kedua-dua C++:

C++ Pengisytiharan semula pembolehubah tempatan tidak dibenarkan, walaupun ia tidak dimulakan. Kedua-dua program gagal untuk disusun🎜

Atas ialah kandungan terperinci Pengisytiharan semula pembolehubah global dalam program C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam