書名: 高效微控制器C語言編程作者名: (美)馬克·盧瓦本章字數: 679字更新時間: 2025-06-05 13:36:29
2.2.5 變量賦值
在hello2.c示例中,我們依賴于對name變量的隱式賦值。作為scanf()函數的參數,用戶輸入的任何內容都會存儲在該變量中。但我們可以(也經常)對變量進行直接賦值。可以使用等號(“=”)來表示賦值,例如:

現在,你已成功地將數值7存儲到了變量total中。
你也可以隨時覆蓋該值:

雖然連續賦值有點浪費,但這個C代碼段并沒有什么問題。不過,變量total只能保留一個整數值,所以最近的賦值是最終生效的,本例中為42。
你經常會看到變量同時被定義和分配初始值(用程序員的話說就是初始化):

現在,總數和答案都有了可以使用的值,但兩者仍可根據需要進行更改。這正是變量的作用。
字面量
在這些示例中,我們將簡單的值插入變量,這些值被稱為字面量。字面量只是一個無須解釋的值。數字、單引號內的字符或雙引號內的字符串都屬于字面量:

希望前兩個變量定義看起來很熟悉。但請注意,當我們初始化名為label的字符串時,并沒有給數組設置長度。C編譯器會根據我們在初始化中使用的文字推斷長度。在本例中,label的長度為12個字符,其中11個字符代表“Description”(描述)中的字母,另外一個字符代表結束符'\0'。如果你知道以后在代碼中會用到字符串變量,你可以給它更多的空間,但不應該指定太小的空間。

如果你嘗試分配一個字符串字面量,但該字符串字面量對于char[]變量來說太長,編譯器可能會發出警告:

這是一個相當特殊的錯誤,希望你能發現它很容易修復。順便說一句,你的程序仍然可以運行。請注意,編譯器給你的是一個警告,而不是我們在前面一些編譯器問題的例子中看到的錯誤。警告通常意味著編譯器覺得你犯了一個錯誤,但你可以得到提醒避免潛在錯誤,因此通常最好還是處理警告(并不強制)。
推薦閱讀
- 數字媒體應用教程
- Spring Boot開發與測試實戰
- 案例式C語言程序設計
- Game Programming Using Qt Beginner's Guide
- Python高級編程
- The DevOps 2.4 Toolkit
- Python:Master the Art of Design Patterns
- 新一代SDN:VMware NSX 網絡原理與實踐
- 搞定J2EE:Struts+Spring+Hibernate整合詳解與典型案例
- Odoo 10 Implementation Cookbook
- Hands-On Full Stack Development with Spring Boot 2.0 and React
- JavaScript動態網頁編程
- Cocos2d-x Game Development Blueprints
- 從Power BI到Analysis Services:企業級數據分析實戰
- SQL Server 入門很輕松(微課超值版)