搜尋
首頁後端開發C#.Net教程C語言變數的定義包含變數儲存類型和變數的什麼?

C語言變數的定義包括變數儲存類型和變數的名稱。 C語言定義變數的格式:“資料型別  變數名稱;”,「資料型別」表示想要儲存什麼類型的數據,而「變數名稱」就是你想給這個變數取個什麼名字,通常都是用字母。

C語言變數的定義包含變數儲存類型和變數的什麼?

變數的定義

定義變數的格式非常簡單,如下所示:

数据类型  变量名;

首先要強調的一點是:最後的分號千萬不要丟了。變數的定義是一個語句,我們說過,語句都是以分號結尾的。

「資料類型」表示想要儲存什麼類型的資料就定義什麼類型的變數。想要儲存整數就定義成int 型;想要儲存小數就定義成float 型或double 型;想要儲存字元就定義成char 型…

「變數名稱」就是你想給這個變數取個什麼名字,通常都是用字母。例如:

int i;

就表示定義了一個整數變數 i。

變數名稱的命名規則

在定義變數時,變數名稱可以是字母、數字和底線的組合。但也不是隨便的組合,要注意以下幾個命名規則:

1) 變數名的開頭必須是字母或底線,不能是數字。實際程式設計中最常用的是以字母開頭,而以下劃線開頭的變數名稱是系統專用的。

隨便打開一個頭檔就會看到,它裡面所有的變數名稱、巨集名、函數名全是以下的劃線開始。

所以為了避免與系統定義的名字產生衝突,在程式設計的時候,除非要求這麼定義,否則永遠不要使用底線作為一個變數名稱的開頭。

2) 變數名中的字母是區分大小寫的。例如 a 和 A 是不同的變數名,num 和 Num 也是不同的變數名。

3) 變數名稱絕對不可以是C語言關鍵字,這點一定要記住!

4) 變數名稱中不能有空格。這個可以這樣理解:因為上面我們說過,變數名稱是字母、數字、底線的組合,沒有空格這一項。

變數的賦值

那麼變數定義好之後怎麼將數放到這個變數裡面呢?首先要理解的是,將一個數字放到一個變數中,這個動作叫做「賦值」。 「賦」即「給予」的意思,所以「給變數賦值」意思是將一個值傳給一個變數。那怎麼賦值呢?是透過賦值運算子=,賦值的格式是:

变量名 =  要赋的值;

它的意思是將=右邊的數字賦給左邊的變數。例如:

i = 3;

這就表示將 3 賦給了變數 i,此時 i 就等於 3 了。

這裡要注意的是,這裡的=跟數學中的「等於號」是不一樣的。在剛開始學習C語言的時候,在這一點上大家很難從數學的思維中轉變過來。在C語言中=表示賦值,即將右邊的值賦給左邊的變量,而不是左邊的變數等於右邊的值。

那C語言中有沒有表示相等的運算子呢?這就是雙等號==。這個運算子就與數學中的「等於」是同一個意思了。

以上就是變數的定義和賦值,它們是分成兩個步驟寫的。也可以將它們合成一步,事實上,在實際編程中用得最多的也是合而為一的寫法。那怎麼合在一起呢?很簡單,形式如下:

資料型別  變數名= 要賦的值;

例如:

int i = 3;

就表示定義了一個變數i,並且把3 賦給這個變數。它與

int i;
i =3;

是等價的。

在定義變數時也可以一次定義多個變量,例如:

int i, j;

這就表示定義了變數 i 和 j。這裡要強調的是,當同時定義多個變數時,變數之間是用逗號隔開的,千萬別寫成分號。這是很多新手最容易犯的錯誤,即將逗號和分號記混了。

同樣也可以在定義多個變數的同時給它們賦值:

int i = 3, j = 4;

中間還是用逗號隔開,最後別忘記輸入分號。

最後要注意的是,在較老的C89/C90 標準(也稱為ANSI C 標準)中,變數只能在程式的開頭定義,或者說變數定義的前面不能有其他非宣告或非定義的語句。例如在C語言中像下面這種寫法就是錯誤的:

# include <stdio.h>
int main(void)
{
    int i;
    i = 3;
    int j = 4;  //这句是错误的,因为在它前面有一个给变量i赋值的非定义语句
    return 0;
}

在VC  6.0 或VS2010 下編譯的時候會提示下面的錯誤:

error C2143: 语法错误 : 缺少“;”(在“类型”的前面)

但是這種寫法在.cpp檔案(C 原始檔)中是允許的,.cpp檔中可以在程式的任意位置定義變數。

其實這跟語言本身沒有什麼關係,並不是說C語言中變數就不能定義在程式中間。這其實是與標準有關係的,有些編譯器使用的是C89 標準,C89 標準要求所有宣告(例如函數宣告、變數定義)必須寫在程式、函數或複合語句的開頭,而C99 的新特性允許語句和聲明依任意順序排列,只要遵循「先聲明後使用」的原則就行。

因為VC 6.0 和VS2010 遵循的是C89 標準,或者說它不能完全支援C99 標準,所以它不允許將變數定義在程式中間;而Linux 中GCC 編譯器遵循的是C99 標準,所以同樣是.c文件,同樣是編寫C語言,它就可以將變數定義在程式的任意位置,只要是在使用位置之前即可。

其實 C99 標準是比較好的,變數需要的時候才定義,縮短了它的生命週期,節省了記憶體。因為只要定義變量,系統就會為它分配記憶體空間,所以如果在前面定義了但是到最後才使用它,那麼在使用之前它一直佔著內存不放,有點浪費。

但儘管如此,大家在程式設計的時候還是盡量按照 C89 的標準編寫,即使在完美支援 C99 標準的編譯器中也最好不要將聲明寫在程式的中間。因為 C89 歷時較長,現在它仍然是主流,許多編譯器仍然只支援 C89 標準或不能很好地支援 C99 標準。所以以 C89 標準來寫可移植性更強。

上面提到“複合語句”,在複合語句中也可以定義變數。所謂語句就是以分號結尾的,而複合語句就是多個語句組合在一起的語句。在C語言中,用大括號{ }括起來的多個語句稱為複合語句。

複合語句在流程控制中用得特別多,例如後面將要學習的 if、for、while 一般都是跟複合語句的。此時在這些複合語句中也可以定義變量,但是也只能定義在它的開頭。主函數 main 下面也是用大括號括起來的,所以主函數 main 下的函數體本質上也是複合語句,是一個大的複合語句。

所以它們還是有共通性的,也就是說,在C語言中,只要是用大括號{ }括起來的,那麼在它的開頭都可以定義變數。而且這些在大括號中定義的變數都稱為局部變數。此外,在大括號外面也可以定義變量,叫做全域變數。

推薦:《c語言教學

以上是C語言變數的定義包含變數儲存類型和變數的什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
C#.NET:使用.NET生態系統構建應用程序C#.NET:使用.NET生態系統構建應用程序Apr 27, 2025 am 12:12 AM

如何利用.NET構建應用?使用.NET構建應用可以通過以下步驟實現:1)了解.NET基礎知識,包括C#語言和跨平台開發支持;2)學習核心概念,如.NET生態系統的組件和工作原理;3)掌握基本和高級用法,從簡單控制台應用到復雜的WebAPI和數據庫操作;4)熟悉常見錯誤與調試技巧,如配置和數據庫連接問題;5)應用性能優化與最佳實踐,如異步編程和緩存。

C#作為多功能.NET語言:應用程序和示例C#作為多功能.NET語言:應用程序和示例Apr 26, 2025 am 12:26 AM

C#在企業級應用、遊戲開發、移動應用和Web開發中均有廣泛應用。 1)在企業級應用中,C#常用於ASP.NETCore開發WebAPI。 2)在遊戲開發中,C#與Unity引擎結合,實現角色控制等功能。 3)C#支持多態性和異步編程,提高代碼靈活性和應用性能。

C#.NET用於網絡,桌面和移動開發C#.NET用於網絡,桌面和移動開發Apr 25, 2025 am 12:01 AM

C#和.NET適用於Web、桌面和移動開發。 1)在Web開發中,ASP.NETCore支持跨平台開發。 2)桌面開發使用WPF和WinForms,適用於不同需求。 3)移動開發通過Xamarin實現跨平台應用。

C#.NET生態系統:框架,庫和工具C#.NET生態系統:框架,庫和工具Apr 24, 2025 am 12:02 AM

C#.NET生態系統提供了豐富的框架和庫,幫助開發者高效構建應用。 1.ASP.NETCore用於構建高性能Web應用,2.EntityFrameworkCore用於數據庫操作。通過理解這些工具的使用和最佳實踐,開發者可以提高應用的質量和性能。

將C#.NET應用程序部署到Azure/AWS:逐步指南將C#.NET應用程序部署到Azure/AWS:逐步指南Apr 23, 2025 am 12:06 AM

如何將C#.NET應用部署到Azure或AWS?答案是使用AzureAppService和AWSElasticBeanstalk。 1.在Azure上,使用AzureAppService和AzurePipelines自動化部署。 2.在AWS上,使用AmazonElasticBeanstalk和AWSLambda實現部署和無服務器計算。

C#.NET:強大的編程語言簡介C#.NET:強大的編程語言簡介Apr 22, 2025 am 12:04 AM

C#和.NET的結合為開發者提供了強大的編程環境。 1)C#支持多態性和異步編程,2).NET提供跨平台能力和並發處理機制,這使得它們在桌面、Web和移動應用開發中廣泛應用。

.NET框架與C#:解碼術語.NET框架與C#:解碼術語Apr 21, 2025 am 12:05 AM

.NETFramework是一個軟件框架,C#是一種編程語言。 1..NETFramework提供庫和服務,支持桌面、Web和移動應用開發。 2.C#設計用於.NETFramework,支持現代編程功能。 3..NETFramework通過CLR管理代碼執行,C#代碼編譯成IL後由CLR運行。 4.使用.NETFramework可快速開發應用,C#提供如LINQ的高級功能。 5.常見錯誤包括類型轉換和異步編程死鎖,調試需用VisualStudio工具。

揭開c#.net的神秘面紗:初學者的概述揭開c#.net的神秘面紗:初學者的概述Apr 20, 2025 am 12:11 AM

C#是一種由微軟開發的現代、面向對象的編程語言,.NET是微軟提供的開發框架。 C#結合了C 的性能和Java的簡潔性,適用於構建各種應用程序。 .NET框架支持多種語言,提供垃圾回收機制,簡化內存管理。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中