小tips 初始化二維陣列

2021-10-22 06:55:42 字數 1100 閱讀 6765

在做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 陣列元素個數除以列數,除不...