C 學習筆記之陣列建立和初始化

2021-10-02 10:52:08 字數 1188 閱讀 5053

陣列建立宣告指出以下這三點:

(1)元素值的型別 ; 

(2)陣列的名字;

(3)陣列元素的個數.

注意:int arr[arraysize]中arraysize的取值只能為以下幾種:

(1)普通整型常數,比如1,2等;

(2)巨集定義標識,如下:

#define maxsize 100

int arr[maxsize] = ;

(3)const值, 如下:

const int size_arr = 1;

int arr[size_arr] = ;

(4)常量表示式,比如sizeof(double)*3.

陣列初始化規則:

(1)只有定義陣列的時候才能初始化,此後不能使用;

//正確初始化

int arr1[3]=;

//以下為錯誤的初始化

int arr2[2];

arr2[2]=;

(2)不能將乙個陣列賦給另乙個陣列;

//錯誤示範

int arr1[3]=;

int arr2[3];

arr2=arr1;

(3)初始化陣列時,給的值可以少於陣列元素個數,這時其他元素設為0;

//arr的前兩個元素為1,6,後兩個元素為零

int arr[4]=;

(4)初始化時方括號「[ ]」內可以為空,這個時候你給多少值,陣列長度就為多少。

//此時陣列長度為3,當然這種初始化方式並不好,盡量不要使用

short array=;

c++11使用大括號 「」 初始化,即列表初始化作為一種通用的初始化方式。

(1)首先,初始化的時候可以省略等號「=」;

double earnings[5];

(2)大括號內可以不包含任何東西,表示都設為零;

unsigned int counts[10]{};

(3)列表初始化不能縮窄轉換(大型別賦給小型別時,產生資料賦值異常)。

為double型別,顯然賦給int時出現縮窄轉換,時錯誤的

int arr[3];

//1111111超出char取值範圍,錯誤

char symbol_toy[2];

建立和初始化物件

類載入,同時初始化類中靜態的屬性 執行靜態 塊 分配記憶體空間,同時初始化非靜態的屬性 賦預設值,0 false null 呼叫student的父類構造器 對student中的屬性進行顯示賦值 如果有的話 執行匿名 塊 執行構造器 返回記憶體位址 注 子類中非靜態屬性的顯示賦值是在父類構造器執行完之...

java學習筆記39 建立和初始化物件

使用new關鍵字建立的時候,除了分配記憶體空間之外,還會給建立好的物件進行預設的初始化以及對類中構造器的呼叫 那麼對main方法中的以下 student s new student 1 為物件分配記憶體空間,將物件的例項變數自動初始化預設值為0 false null。例項變數的隱式賦值 2 如果 中...

物件的建立和初始化

三 構造器 本文主要講解類和物件的關係,以及如何建立和初始化物件,對構造器的詳解 1.首先建立乙個類,我這裡建立的是乙個學生類,裡面有學生的姓名 年齡。public class student public static void main string args 發現即使類中內容是空的,在主方法中...