VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 924|回复: 1

[求助] 为什么我动态创建二维数组不能访问

[复制链接]
31_avatar_middle
online_vip 发表于 2016-2-14 14:50:48 | 显示全部楼层 |阅读模式
3驿站币
求教 下面这个我创建的二维数组,为什么访问 [0][0] 会访问异常??
  1. #include "stdafx.h"
  2. #include <iostream>

  3. #include <windows.h>
  4. using namespace std;

  5. int _tmain(int argc, _TCHAR* argv[])
  6. {
  7.         int HeightCount = 16;
  8.         int WidthCount = 5;
  9.         BYTE**pArrayByte = new BYTE*[HeightCount];
  10.         for(int i = 0;i < HeightCount;i++)
  11.                 pArrayByte[i] = new BYTE[WidthCount];
  12.         memset(pArrayByte,0,WidthCount * HeightCount);
  13.         cout<<pArrayByte[0][0]<<endl;
  14.         system("pause");
  15.         return 0;
  16. }
复制代码

最佳答案

查看完整内容

那是因为你在清零时出错了。 int main(int argc, TCHAR* argv[]) { int HeightCount = 16; int WidthCount = 5; int** pArrayByte = new int*[HeightCount]; for(int i = 0;i < HeightCount;i++) pArrayByte = new int[WidthCount]; //memset(pArrayByte,0,WidthCount * HeightCount); pArrayByte[0][0]=1212; cout




上一篇:error C2065: 'WM_MOUSELEAVE' : undeclared identifier
下一篇:谁玩过libevent 网络库,给个链接交流下
83_avatar_middle
在线会员 发表于 2016-2-14 14:50:49 | 显示全部楼层
那是因为你在清零时出错了。
int main(int argc, TCHAR* argv[])
{
        int HeightCount = 16;
        int WidthCount = 5;

        int** pArrayByte = new int*[HeightCount];
        for(int i = 0;i < HeightCount;i++)
                pArrayByte[i] = new int[WidthCount];

        //memset(pArrayByte,0,WidthCount * HeightCount);
        pArrayByte[0][0]=1212;

        cout<<pArrayByte[0][0]<<endl;
        system("pause");
        return 0;
}
你可以改成这样试试。
应当因为是COUT的原因,你可能需要把byte改成int试试,它可以得到一个正确的结果。我想这应当是用于地图之类的东西上的意思。如果是这样,事实上你也可以用一维数组来处理。那样其实显得更容易一些。象这样pMap[mapH*x+y];用类似的数组比二维数组成编程上更容易控制一些,尽管好象它并不是那么直观。

评分

参与人数 1驿站币 +3 热心值 +3 收起 理由
51_avatar_small Syc + 3 + 3 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-19 13:04

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表