標籤:
對我們程式員來講,“變數”和“對象”是可以相互互換使用的。-------------開篇之詞。
變數:提供一個具有名字的可供程式操作的儲存空間。由類型說明符和其後緊跟的數個列表組成,其中變數名之間使用逗號分隔,最後使用分號結尾。像 int sum = 0,value,unit_sold = 0;Sales item;這裡的item就是類型為Sales的變數。
對象:是指一塊能夠儲存資料並且具有某種類型的記憶體空間。
初始化和賦值不是同一概念;初始化是建立變數時賦予其一個初始值,而賦值的含義是把對象的當前值擦除,而用一個新值來替代。自從c++11開始,已經可以使用像int sum{0};這樣的初始化了,稱為列表初始化!
定義於任何函數之外的變數將被初始化為0;一種例外情況是:定義在函數內部的內建類型變數將不會被初始化。一個未被初始化的內建類型變數的值是未定義的,如果試圖拷貝或者以其他形式訪問這個類型將會引發錯誤!!定義於函數體內部的內建類型的對象如果沒有初始化,則其值未被定義。類的對象如果沒有顯示的初始化,則其值由類確定。因此,建議我們初始化每一個內建類型的變數,雖然並非必須這麼做,但是如果我們不能確定初始化後程式的啟動並執行安全,那麼這麼做不失為一種簡單可靠地方法--------------養成有變數就初始化的好習慣!!!!
聲明規定了變數的類型和名字,但是除此之外還申請了儲存空間,也可能會為其變數賦一個初始值。
如果想聲明一個變數而非定義它,就在變數前面添加一個關鍵字extern,而不要顯示的初始設定變數:extern int i;//聲明i而非定義i;int j;//聲明並定義j;在函數體內部,如果試圖初始化一個由extern關鍵字標記的變數,將引發錯誤。變數能且只能被定義一次,但是可以被多次聲明!
命名規則:1.使用者自訂標示符中不能連續出現兩個底線,也不能使用底線緊鄰大寫字母開頭,定義函數體以外的標識符不能以底線開頭!
2.變數名要寫成小寫,方便閱讀。
3.使用者自訂的類型一般要以大寫字母開頭。
4.如果標識符由多個單片語成,則單詞間應該有明顯區分。
建議:當你第一次使用變數時再定義它;也就是說,再對象第一次被使用的地方附近定義它是一種好的選擇,因為這樣做有助於更加容易地找到變數的定義。更重要的是,當變數的定義與它第一次被使用的地方很近時,我們也會賦予它一個比較合理的初始值!
複合類型:是指基於
c++之——————各種變數