在做leetcode每日一題的螺旋矩陣時,有乙個很重要的一點就是對需要旋轉的角做標記。在此為初始化二維陣列這一知識點做點小筆記。
分行進行初始化
int a[2][3] = , };
放在一起進行初始化
int a[2][3] = ;
進行部分初始化
int arr[2][3] = , };
此時等同於a[2][3] =
而int a[2][3] = ;
等同於a[2][3] =
二維陣列的初始化可以省略行數(第乙個引數),但是不能省略列數(第二個引數)
int a[3] = , };
這裡可以看出也是用1, 0, 0, 2, 0, 0初始化
int a[3] = ;
這裡用這種方式進行初始化的時候,一維的數字大小是由這個初始化數字的數量多少來取的,例如這個例子是4個數字那麼就是4/3+1(如果有餘數再加1)
不難察覺,{}內的某一元素是行內元素還是行元素需要看是否有{},若有,就是後者情況啦。
btw,順帶提一下vector的二維陣列初始化。
vector的二維陣列初始化非常簡單,只需要
vectora;此時建立了乙個裝著資料型別為int的二維陣列,其size為0
要是想初始化到具體的你想要的值呢?用這個辦法:
vectorint>> a;or
vectorint>> a};
vectorint>> a,}
;//學會用大括號初始化二維陣列
a.push_back()
;//插入
vector> a(10); //初始化了10個預設值為0的元素這裡的int還可以換成別的資料型別,譬如double,float,char,甚至bool
vector> visited(rows, vector(columns));拿一開始提到的這道題來說,此二維陣列第乙個引數為int標識著第幾行,而它行內元素的資料型別為bool
二維陣列的初始化
1.使用兩個for迴圈定義 for i 1 i n i 2.定義時初始化 int a n m 3.使用函式定義 memset 作用是在一段記憶體塊中填充某個給定的值,它是對較大的結構體或陣列進行清零操作的一種最快方法 memset函式對陣列只能用於置零 0 或置負一 1 操作 include voi...
二維陣列初始化規則
二維陣列初始化的形式為 資料型別 陣列名 整常量表示式 整常量表示式 在中給出各陣列元素的初值,各初值之間用逗號分開。把中的初值依次賦給各陣列元素。有如下幾種初始化方式 分行進行初始化 int a 2 3 在內部再用把各行分開,第一對中的初值1,2,3是0行的3個元素的初值。第二對中的初值4,5,6...
二維陣列的初始化
1.不分行的初始化,所有陣列元素放在一對 內 1 全部元素初始化 a 2 3 2 部分元素初始化 a 2 3 未初始化的元素預設為0,即a 1 1 0,a 1 2 0。3 省略一維長度下標時的初始化 行下標 a 3 陣列元素個數除以列數,正好除盡,所得的商就是行數。a 3 陣列元素個數除以列數,除不...