c++二维数组指针(二维数组指针)

导读 大家好,我是小典,我来为大家解答以上问题。c++二维数组指针,二维数组指针很多人还不知道,现在让我们一起来看看吧!1、首先我觉得这样使...

大家好,我是小典,我来为大家解答以上问题。c++二维数组指针,二维数组指针很多人还不知道,现在让我们一起来看看吧!

1、首先我觉得这样使用是不安全的。

2、也许会导致你开始给a*声明的int[5]无法析构。

3、我试了下在vc05

4、int (*a)[5],i;

5、int b[5]={1,3,5,7,9};

6、int c[3][5];

7、a=b;

8、这是不被允许的。

9、如果你是要开一个指针的指针的话,这样做

10、int b[5]={1,3,5,7,9};

11、int c[3][5];

12、int* a[4];//a现在是一个int[]的指针

13、a[0]=b;//a[0]和b一样为int*

14、int **q=a+1;//q的位置其实是a[1],就像a的位置就是a[0]

15、*(int**)q=*(int**)(c);//类型强制转换,保证指针赋值

16、这样下来结果应该是这样的,a[0]为b[]指针,a[1]至a[4]分别是c[0][]到c[3][]指针。

17、希望有所帮助。

18、说实在的指针就是一个32位整形变量,只能指向内存中唯一一个地址。光从存储来说任意一个指针应该都和unsigned long没有区别。

19、——————————————————————————————

20、汗。行的地址知道了,可以改了,不就等于你能把其它行的地址赋值给这个地址?一维数组的标识其实只靠行头的那个地址。也就是说一位数组你在用的时候只用那个行头的指针啊。

21、把这个指针赋值给你的二维数组的行指针,不就是意味着你的二维数组的指定行就是那个一维数组?

本文到此讲解完毕了,希望对大家有帮助。

最新文章