动态分配二元数组

原创 2012年03月21日 10:37:09

以前,碰到二元数组和指针有点混,现在做下总结:

int a[][2]={3,2,3,4,5,6};
int** ap;

ap=(int**)a;

编译器能通过;

ap也确实和a的值是一样的,也就是说指向的地址是同一个。

主要问题在于

地址如0X0012ff5c这里面存的值是3(数组首元素);

但是在二元数组指针这个3代表的还是一个地址(操作系统保护的地址);

int   **A;
A=new   int*   [N];
for(int   i=0;i <N;i++)
      A[i]=new   int   [N];
A[0][0]=122334; 
这种方法可能是唯一简单的动态分配二元数组的方法了;

这里注意的是浪费了一个一维指针数组;但是没办法,因为二元数组其实本质就是一元数组来存的,而指针如果要一致的话应该也是定义成一维指针,但是这个时候编译器确通过不了

换句话说是编译器的设计者,当时就没想过动态分配二元数组问题,把这个问题留给程序员来做。

int a[][2]={3,2,3,4,5,6};
int* ap;
ap=(int*)a;
std::cout<<a[1][1];(编译器能够解释这种现象)
std::cout<<ap[1][1];(编译器简单认为这种语法是错的)

如果谁要更好的方法告诉我啊!!!

二维数组动态分配

  • 2013年02月03日 21:00
  • 62KB
  • 下载

动态分配数组 C语言实现

  • 2009年03月21日 21:26
  • 507B
  • 下载

C++:多维数组的动态分配(new)和释放(delete)

今天在编程的时候遇到了二维数组动态分配的问题,在网上看到一篇文章,在此和大家共享。       原文地址:http://www.cnblogs.com/Sylla-Zhang/archive/2...

C++中二维数组的动态分配

  • 2013年04月19日 22:21
  • 2KB
  • 下载

简单动态分配一个数组

  • 2011年11月08日 17:13
  • 267B
  • 下载

C++编程笔记:二维数组的动态分配与释放

当给定的条件不同时,二维数组的动态分配方式不同。例如,已知二维数组的行数(即第一维维度)为多少的情况下对其进行动态分配,与知道列数(第二维维度),或者两个维度都未知的情况下,二维数组的动态分配方式都不...

数组动态分配空间

  • 2013年05月02日 20:21
  • 3KB
  • 下载

c++动态分配二维/三维数组的内存

转自http://blog.csdn.net/boylinux/article/details/7783871 本文主要目的是用c和c++分别实现动态分配二、三维数组。一般而言,在C中用malloc...

C语言动态分配二维数组

  • 2013年04月06日 17:04
  • 6KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态分配二元数组
举报原因:
原因补充:

(最多只允许输入30个字)