目錄
生活中有些值是可變的(比如年齡,體重,薪資)。
下面我們舉乙個簡單的例子表示變數的建立與使用。
1.1.1:變數的分類
區域性變數
全域性變數
這裡主要介紹一下全域性變數與區域性變數作用域與生命週期。
作用域:通俗來講,也就是乙個變數在**可以使用,**就是他的作用域。
生命週期:也就是從建立到銷毀的乙個過程。
區域性變數的作用域:是變數所在的區域性範圍。
全域性變數的作用域:是整個專案工程。
區域性變數的生命週期:進入作用域生命週期開始,出作用域生命週期結束。
全域性變數的生命週期:整個程式的生命週期,也就是main函式的生命週期。
下面我們用個**來總結一下
注:此處的儲存位置可暫時不看,後續會詳細介紹。
1.1.2:變數的優先性
遵循「就近原則」,意思是如果全域性變數和區域性變數同名時,在函式內還是會區域性變數起作用。如下:
c語言中,常量與變數的定義有所差別,常見的有字面常量,#define定義,列舉常量,const修飾的常量。
1.2.1:#define定義
通常我們寫程式時當乙個常數多次在程式中使用時,如果我們每次都把數字寫入程式,當我們需要改變這個資料時,那麼就需要去修改每一處,非常的麻煩,那麼這時候我們就可以定義乙個define常量。
例如:#define max 100
1.2.2:列舉常量
這裡列舉常量只做簡要介紹,後面作者會詳細介紹。
這裡提醒一下
1.2.3:const修飾的常量
我們定義變數時,可以在型別前加const,此時定義的變數具有常屬性,偽常量,不可定義陣列。
const定義的常量的修改:
注:關於此處內容後續詳細介紹,盡情期待。
「hello world!\n」這種由雙引號引起來的一串字元稱為字串字面值,簡稱字串。
下面我們看乙個**:
思考為何ch2列印出來會是亂碼?
這裡我們介紹字串的標誌結束符'\0', 表示字串結束。
ch2表示乙個字元陣列,沒有定義陣列大小時,後面的'\0'不知在何處,所以列印出來時後面會是亂碼。我們可以除錯檢視一下ch1和ch2de1區別。
可見,ch1中有'a', 『b', 『c', 『\0', 而ch2只有'a', 『b', 『c',無結束識別符號。
www.cppcns.com當我們限定一下ch2大小時,這時列印就正確了:
這時與陣列的不完全初始化有關,當限定大小時,後面不完全初始化為數字0,也就相www.cppcns.com當於'\0'的作用。
下面我們看兩個相等變換:
char arr = ; == char arr = 「hello」;
char arr = = char arr[6] =
如果乙個字元陣列有'\0', 那麼就可以理解為乙個字串,也就是說字串是字元陣列的特例,字串末尾隱藏乙個'\0', 是字串的結束標誌。
當我們要在螢幕上列印乙個目錄:c:\code\test.c時,我們需要怎樣寫**?
先看乙個錯誤**:
我們可以看出第一種列印是錯誤的,原因是\t被轉譯成乙個水平製表符,所以我們要列印時程式設計客棧需要把目錄中的''進行轉義。
我們再介紹兩個特殊的轉義字元:
\ddd:ddd表示1~3個八進位制的數字。
\xdd:dd表示2個十六進製制數字。
下面我們用**來驗證:
原理:\130此時表示把130轉換成十進位制,這個十進位制數代表的asc碼對應的字元。
**中有不需要的**可以直接刪除,也可以注釋掉
**中有些難懂的**,可以加一些注釋文字
注釋有兩種風格:
c語言的注釋風格 /※******************※/
缺陷:不可以巢狀注釋,c99之前的c語言的注釋風格www.cppcns.com。
c++的注釋風格 //***************xx
優點:可以注釋多行也可以注釋一行,c99之後引入的注釋風格。
ok!!!觀眾老爺們,這裡只是c語言的入門知識,如果朋友們覺得有一點點作用的話,希望朋友們能夠給予小菜鳥一點支援!後續繼續給朋友們帶來更好的博文,還希望朋友們能夠繼續關注,小菜鳥致力於把自己的學習經驗與個人理解更多的分享給大家,望大家喜歡與指正,希望大家以後多多支援我們!
本文標題: c語言初識變數常量字串轉義符及注釋方式簡介
本文位址:
C語言 變數 常量 轉義字元
生活中的有些值是不變的 比如 圓周率,性別 身份證號碼,血型等等 有些值是可變的 比如 年 齡,體重,薪資 不變的值,c語言中用常量的概念來表示,變得值c語言中用變數來表示。1 變數的定義 int a 150 float w 45.5f char str w 2 區域性變數和全域性變數 includ...
初識C語言 字串
3.2 用指標 4.字串可直接輸出 1 由雙引號 double quote 引起來的一串字元稱為字串字面值 string literal 或者簡稱字串。eg hello world 2 字串在結束時預設有 轉義字元 0 不作為內容,作為結束標誌。3 c語言無字串型別,需借助 char char 即指...
C語言常量字串
關於c語言字串常量不可修改,起初誤認為是編譯器 把這樣的 char s str 優化成了 const char str const屬性也去不了。但是實際上是與常量字串的記憶體體現有關。bodata段 bss段 bss段 bsssegment 通常是指用來存放程式中未初始化的全域性變數的一塊記憶體區域...