目錄
1. A) C 程式:重新宣告全域變數而不進行初始化
輸出
B) C 程式:重新宣告全域變數而不進行初始化
2. A) C 程式:重新宣告局部變數而不進行初始化
B) C 程式:重新宣告局部變數而不進行初始化
4. A) C 程式:重新宣告全域變數並進行初始化
B) C 程式:透過初始化重新宣告全域變數
B) C 程式:透過初始化重新宣告局部變數
首頁 後端開發 C++ C程式中全域變數的重新聲明

C程式中全域變數的重新聲明

Sep 20, 2023 pm 10:29 PM
全域變數 重新聲明

C程式中全域變數的重新聲明

我們將了解在不初始化的情況下重新宣告全域變數、透過初始化重新宣告全域變數、重新宣告全域變數並初始化兩次時,C 和C 的行為有何不同。另外,我們將使用局部變數重複上述組合。

1. A) C 程式:重新宣告全域變數而不進行初始化

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

輸出

Var = 0
登入後複製

B) 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: &lsquo;int var&rsquo; 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 &lsquo;var&rsquo; with no linkage
登入後複製
登入後複製

B) C 程式:重新宣告局部變數而不進行初始化

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

輸出

error: redeclaration of &lsquo;int var&rsquo;
登入後複製

結果:- C 和C 都不允許在未完成初始化的情況下重新宣告局部變數。兩個程式都編譯失敗。

3. A) C 程式:重新宣告全域變數並進行初始化

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

輸出

Var = 10
登入後複製

B) 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 &lsquo;int var&rsquo;
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 &lsquo;var&rsquo; with no linkage
登入後複製
登入後複製

B) C 程式:透過初始化重新宣告局部變數

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

輸出

error: redeclaration of &lsquo;int var
登入後複製

結果:-C 和C 都不允許重新宣告局部變量,即使它未初始化。兩個程式都編譯失敗

以上是C程式中全域變數的重新聲明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

C++ 函數的局部變數和全域變數有什麼不同? C++ 函數的局部變數和全域變數有什麼不同? Apr 19, 2024 pm 03:42 PM

C++局部變數和全域變數的差異:可見性:局部變數僅限於定義函數,而全域變數在整個程式中可見。記憶體分配:局部變數在堆疊上分配,而全域變數在全域資料區分配。作用域:局部變數在函數內,而全域變數在整個程式中。初始化:局部變數在函數呼叫時初始化,而全域變數在程式啟動時初始化。重新創建:局部變數在每次函數呼叫時重新創建,而全域變數僅在程式啟動時創建。

php request什麼意思 php request什麼意思 Jul 07, 2021 pm 01:49 PM

request的中文意思是“請求”,是php中的一個全域變量,是一個包含了“$_POST”、“$_GET”和“$_COOKIE”的數組。 「$_REQUEST」變數可以取得POST或GET方式提交的資料、COOKIE資訊。

go語言有靜態全域變數麼 go語言有靜態全域變數麼 Jul 11, 2023 pm 03:37 PM

go語言沒有靜態全域變量,它使用了一種更靈活的方式來處理全域變量的需求,全域變量通常是在包級被聲明,也就是在函數外部聲明的變量,這些變量在整個包中均是可見的,可以在套件中的任何函數中使用。

在JavaScript中實現全域變數的安全性 在JavaScript中實現全域變數的安全性 Jun 15, 2023 pm 10:33 PM

隨著JavaScript的流行,越來越多的網站和應用程式都依賴JavaScript。然而,JavaScript中全域變數的使用可能存在安全性問題。在此文中,我將介紹如何在JavaScript中實現全域變數的安全性。避免使用全域變數最好的方法是避免使用全域變數。在JavaScript中,所有變數都預設為全域變量,除非它們在函數中聲明。因此,應盡可能使用局部變數

Golang函數的全域變數和局部變數的資料競爭分析 Golang函數的全域變數和局部變數的資料競爭分析 May 21, 2023 am 08:19 AM

Golang是一種強型別程式語言,具有高效、簡潔、並發等特點,因此逐漸受到了越來越多的開發者的青睞。而在Golang的開發中,函數的全域變數和局部變數往往涉及資料競爭的問題。本文將從實際編碼的角度,對Golang函數中全域變數和局部變數的資料競爭問題進行分析。一、全域變數的資料競爭Golang全域變數在所有函數中均可訪問,因此如果不進行嚴謹的設計與編碼

C程式中全域變數的重新聲明 C程式中全域變數的重新聲明 Sep 20, 2023 pm 10:29 PM

我們將了解在不初始化的情況下重新宣告全域變數、透過初始化重新宣告全域變數、重新宣告全域變數並初始化兩次時,C和C++的行為有何不同。另外,我們將使用局部變數重複上述組合。 1.A)C程式:重新宣告全域變數而不進行初始化#include<stdio.h>intvar;intvar;intmain(){  printf("Var=%d",var);  return0;}輸出Var=0B) C++程式:

golang函數能否在goroutine中直接存取全域變數? golang函數能否在goroutine中直接存取全域變數? May 01, 2024 pm 05:51 PM

是的,Go函數在Goroutine中預設可以直接存取全域變數。原因:Goroutine繼承創建它的Goroutine的記憶體空間,包括對全域變數的存取權。

php全域變數都有哪些 php全域變數都有哪些 Aug 01, 2023 pm 01:21 PM

php全域變數有:1、$_SERVER,目前腳本運行的伺服器和執行環境資訊的超全域變數;2、$_GET,透過GET方法傳遞給目前腳本的變數的關聯數組;3、$_POST,透過POST方法傳遞給目前腳本的變數的關聯陣列;4、$_SESSION,儲存目前工作階段中使用者相關資訊;5、$_COOKIE,透過HTTP Cookie傳遞給目前腳本的變數的關聯陣列;6、$_FILES等等。

See all articles