C#中二維陣列int[,]與交叉陣列int[][]的區別
首先說一下交叉陣列這個東西是C#裡面的,c++裡面是沒有的交叉陣列這個定義的
int[][] 是陣列的陣列,即一個一維陣列的每個元素都是一個數組,這個在C++,java等語言裡面也是這麼定義的;
int[,]這個是C#中提供的一個二維陣列的形式,在C++中並不存在
看兩者定義時的不同:
int[,] a = new int[2, 3] { { 1, 2, 3 }, { 11, 22, 33 } };
int[][] b = new int[2][];//一維陣列
b[0] = new int[3] { 1, 2, 3 };//對一維陣列中的每個元素定義一維陣列
b[1] = new int[4] { 4, 5, 6, 7 };
從程式碼可以看出來主要有兩點不同
1、定義不同,二維陣列直接定義,交叉陣列是需要再定義每個陣列的(這個好像有點廢話);
2、二維陣列是個規則的“矩形”,即每行元素個數都是一樣的;交叉陣列是沒有這個限制的,可以一樣也可以不一樣(這裡說一下,C++中定義int[][]時實際就相當於定義的二維陣列,而要是想實現交叉陣列應該使用指向陣列的指標)
相關推薦
C#中二維陣列int[,]與交叉陣列int[][]的區別
首先說一下交叉陣列這個東西是C#裡面的,c++裡面是沒有的交叉陣列這個定義的 int[][] 是陣列的陣列,即一個一維陣列的每個元素都是一個數組,這個在C++,java等語言裡面也是這麼定義的; int[,]這個是C#中提供的一個二維陣列的形式,在C++中並不存在
c++中二維陣列與二維向量的長度
對於一個二維陣列: int mm[3][5] = { { 1,2,3,4,5 },{ 5,6,7,8,9 },{ 9,10,11,12,13 } }; int toatlnums = sizeof(mm) / sizeof(int); //元素總個數 int cols =
C/C++中二維陣列和指標關係分析
在C/c++中,陣列和指標有著密切的關係,有很多地方說陣列就是指標式錯誤的一種說法。這兩者是不同的資料結構。其實,在C/c++中沒有所謂的二維陣列,書面表達就是陣列的陣列。我猜想是為了表述方便才叫它二維陣列。 在本文中,我也就叫它二維陣列。在C/C
C++中二維動態陣列的建立
方法1.用new / delete建立二維動態陣列 程式碼: #include<iostream> #include<vector> using namespace std; #define ROW 2 //行數 #define COLUMN
C#中二維陣列
生活中,有很多事物,僅僅用一維陣列,將無法恰當地被表示。還是說學生成績管理吧。一個班級30個學員,你把他們編成1到30號,這很好。但現在有兩個班級要管理怎麼辦?人家每個班級都自有自的編號,比如一班學生編是1~30;二班的學生也是1~30。你說,不行,要進行計算機管理,你們兩班學員的編號要混在一起,
C++中二維陣列總結
最近程式設計需要研究了一下二維陣列,網上這方面的資料蠻多了,彙總一下,歡迎補充! 關於二維資料的基本知識見這裡: 關於二維資料的動態分配,以下部落格講述得比較清楚: 舉例: //動態定義一維陣列、二維陣列、三維陣列 #include<iostream>
C++中二維陣列的使用
1 定義 在C++中,如果陣列的元素又是陣列,則稱為二維陣列,其每一維對應一個下標,第一維通常稱為行(row),第二維則稱為列(column)。例如 int a[2][3]; 可以將二維陣列a看成是一個2行3列的矩陣。 2 初始化 2.1使用花括號進行初始化 可以使用花括號
C++中二維陣列的初始化
在C++中,二位陣列有兩種使用方式。 第一種是靜態宣告及初始化,如下: int array2[3][2]={{4,2},{5},{6}};第二種是,有時我們不知道二維陣列需要多少行和多少列,這時是動態陣列。 int **array; 後來我們通過輸入來獲取陣列的行n
C#中二維數組的行數和列數
取數 word 二維數組 同學 定義 dimen 行數 nbsp col 最近在項目中用到二維數組,需要獲取數組的行數和列數,本以為是很簡單的一些東西,卻發現網上好多答案都是錯誤的,遂寫下隨筆,希望之後有用到的同學們能夠順利解決答案。 下面是一些關於數組的一些屬性和方法以及
C++中二維vector賦值
vector<vector<int> > nums(8,vector<int>(13)); //二維陣列的行數為8,列數為13。<int>後一定要加一個
c#中Class和Struct使用與性能的區別
回收 數據結構 com 垃圾回收 父類 改變 med .cn 指針 在Unity中很多已經定義為結構體的數據結構 Vector2, Vector3 和 Vector4 Rect Color和Color32 Bounds Touch 1.Class為引用類型,Str
C語言中二維陣列名與陣列地址、首行地址、首行首元素地址關係與區別詳解(初學者必須掌握)
C語言作為很多大學理工科都會學習的語言,作為一種程式設計入門語言。但是相對於其他高階程式語言來說相對是比較難,尤其是指針,不知道有多少莘莘學子都是因為它,從C語言入門到放棄。想當年,筆者在大一學習C語言
關於C++的二維陣列的一個問題與解決
最近在做一個專案,過程中new了一個二維陣列來儲存中間變數。因為這些變數用完後就沒有用了再加上陣列規模有點大,就想把它刪除釋放空間。 double(*p1)[3 * length] = new double[number][3 * length]; 然而在刪除陣列過
c語言二維陣列在子函式中的傳址
在學習c語言的過程中,指標與二維陣列的傳值,傳址一直是我比較混淆的部分,今天做了一個較為完整的總結 一.自己定義的陣列傳址 1. <span style="font-size:18px;">#include<iostream> #inc
c語言二維陣列的下標運算與指標偏移
首先,定義一個二維陣列int Array[y][x]; 一、 對於二維陣列的指標偏移的運演算法則。同一維陣列一樣,二維陣列的陣列名也是指向第一個陣列元素的(即Array等於&Array[0][0]),且二維陣列的陣列元素在計算機內的記憶體存放也是連續的,
C 語言中二維陣列指標詳解
C語言中,指標是一個複雜但又靈活多變的知識點,我們知道,在一維陣列中,對於一個數組a[],*a,a,&a,都表示a的首地址,但如果與二維陣列混合使用,就顯得更為複雜了。例如對於一個二維陣列 a[2][4]={{1,2.3},{4,5,6}} a+i,&a
9、C語言中二維陣列及陣列名及指向二維陣列的指標變數
#include <stdio.h> #include <stdlib.h> //與二維陣列相關的指標變數([] 比 *優先順序高) //在一般指標變數指向二維陣列,或者n維陣列,要直接操作a[i][j],對指標的操作必須有兩個符號(其中不出現&,如果有&則相應的加
徹底搞清C/C++中一維陣列,二維陣列,指標,陣列指標和指標陣列以及指向指標的指標,行地址和列地址之間的關係
#include <iostream> using namespace std; void test(char **ptr) { for(;(strcmp(*ptr,"NULL"))!=0;ptr=ptr+1) cout << *(ptr) <&l
ASP.NET中C#生成二維碼
保存 mss 軟件 clear 所有 str drawing for visual ASP.NET中用C#語言編寫網頁,將自己輸入的文字生成二維碼。 工具/原料 已安裝好VS2010或其他版本VS軟件的電腦一臺 1、新建 1
C語言:二維數組與指針實踐1
mvc 數組 vpx c99 mar ebe inf xsl ndt 實1r遜5駛誹喜濟51http://docstore.docin.com/psb360 毓V私陶塹4v31Fhttp://www.docin.com/zucga0192 53o97gw蓖沙賭2yh