在C#中,int[,]和int[][]是同一种类型吗,都是表示二维数组吗,请看补充,谢谢:
int[]是int的一维数组,int[,]是int的二维数组,而int[][]是int的一维数组的一维数组,书上这么说的,感觉还是有点不懂,它们不都是二维数组吗,在用法上...
int[]是int的一维数组,int[,]是int的二维数组,而int[][]是int的一维数组的一维数组,书上这么说的,感觉还是有点不懂,它们不都是二维数组吗,在用法上有吗,可以给我一个例子,详细的说一下区别吗?
感觉和C中不一样,习惯了C,反应不过来。还是混沌。谢谢你们…… 展开
感觉和C中不一样,习惯了C,反应不过来。还是混沌。谢谢你们…… 展开
6个回答
展开全部
二维数组知道是什么吧?int[][]是一维数组的一维数组,意思就是一维数组里面又有一个一维数组,举个例子你应该就明白了
int[] array1 = { 1,2,3 };
int[] array2 = { 4,5,6 };
int[][] arrayList = { array1,array2 };
再知道了不?array1 和array2是存放int的数组,arrayList就是一个存放int数组的数组
int[][]就像一个大柜子一样,里面再放了几个小柜子
而二维数组就像一个书架
楼主学过C?那C#就很容易上手了,其实理解了两者也差不多,只是C存的是指针
int[] array1 = { 1,2,3 };
int[] array2 = { 4,5,6 };
int[][] arrayList = { array1,array2 };
再知道了不?array1 和array2是存放int的数组,arrayList就是一个存放int数组的数组
int[][]就像一个大柜子一样,里面再放了几个小柜子
而二维数组就像一个书架
楼主学过C?那C#就很容易上手了,其实理解了两者也差不多,只是C存的是指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“安城百合子”的正解!
用int[,]定义的为规则二维数组,同样,三位数组是int[,,]
用int[][]声明的为锯齿数组,其每一行都可以有不同的大小
用int[,]定义的为规则二维数组,同样,三位数组是int[,,]
用int[][]声明的为锯齿数组,其每一行都可以有不同的大小
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int[][]貌似是叫交错数组,可以用来存放一些长度不一的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*
1. C++中 只有 new 和 new[] 两种, 没有new [][]
new 和 delete是一对
new[] 和 delete[] 是一对 申请和释放数组
2. 请看:
3. 二维数组 int a[3][4] 可以看做一个含有三个元素的一维数组, 每个元素都是int [4]类型。 C++中数组和指针看做一种派生数据类型更容易理解
4. 自己试着改一下自己的程序。如果改不好,hi我. 我用C写过矩阵乘法:
5.下面是一个简单的C++申请和释放二维数组的例子
*/
#include <iostream>
using namespace std;
int main()
{
int **iArr = NULL;
int cols;
int lines;
int i, j;
cin >> cols >> lines;
iArr = new int * [lines]; // 申请一个具有lines个元素的数组, 每个元素都是int*类型 这样得到了lines个指针每个指向二维数组的一行
/*
这样写
try {
iArr = new int * [lines];
}
catch (bad_alloc) {
cerr << "new [] operator failed\n";
exit(EXIT_FAILURE);
}
更好
*/
for (i = 0; i < lines; i++) {
iArr[i] = new int [cols];
}
for (i =0; i < lines; i++) {
for (j = 0; j < cols; j++) {
iArr[i][j] = i * j;
}
}
for (i =0; i < lines; i++) {
for (j = 0; j < cols; j++) {
cout << iArr[i][j] << " ";
}
cout << endl;
}
for (i =0; i < lines; i++) {
delete [] iArr[i];
iArr[i] = NULL;
}
delete []iArr;
iArr = NULL;
return 0;
}
1. C++中 只有 new 和 new[] 两种, 没有new [][]
new 和 delete是一对
new[] 和 delete[] 是一对 申请和释放数组
2. 请看:
3. 二维数组 int a[3][4] 可以看做一个含有三个元素的一维数组, 每个元素都是int [4]类型。 C++中数组和指针看做一种派生数据类型更容易理解
4. 自己试着改一下自己的程序。如果改不好,hi我. 我用C写过矩阵乘法:
5.下面是一个简单的C++申请和释放二维数组的例子
*/
#include <iostream>
using namespace std;
int main()
{
int **iArr = NULL;
int cols;
int lines;
int i, j;
cin >> cols >> lines;
iArr = new int * [lines]; // 申请一个具有lines个元素的数组, 每个元素都是int*类型 这样得到了lines个指针每个指向二维数组的一行
/*
这样写
try {
iArr = new int * [lines];
}
catch (bad_alloc) {
cerr << "new [] operator failed\n";
exit(EXIT_FAILURE);
}
更好
*/
for (i = 0; i < lines; i++) {
iArr[i] = new int [cols];
}
for (i =0; i < lines; i++) {
for (j = 0; j < cols; j++) {
iArr[i][j] = i * j;
}
}
for (i =0; i < lines; i++) {
for (j = 0; j < cols; j++) {
cout << iArr[i][j] << " ";
}
cout << endl;
}
for (i =0; i < lines; i++) {
delete [] iArr[i];
iArr[i] = NULL;
}
delete []iArr;
iArr = NULL;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不一样的,建议你买本C#的入门教程先了解一下!
追问
正在看呢,但有些不明白,比如这个,呵呵。谢谢你啦。
追答
恩,不客气呢,有书的话多看两遍就能理解呢!C#有很多和C++类似的地方,如果你之前学过C++那么学习C#将会事半功倍的!最重要的一点C#没有C和C++ 中很好用同时也很费心的指针!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询