标题:关于二维数组new分配问题
只看楼主
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
结帖率:100%
已结贴  问题点数:20 回复次数:3 
关于二维数组new分配问题
程序代码:
#include<iostream>
using namespace std;

int main(int argc,char* argv[])
{
     int **m,i,j;
     m=new int*[2];
     for(i=0;i<2;i++)
         m[i]=new int[1];
     memset(m[0],0,1);
     memset(m[1],0,1);
     for(i=0;i<2;i++)
         for(j=0;j<1;j++)
             scanf("%d",&m[i][j]);

    for(i=0;i<2;i++)
         for(j=0;j<1;j++)
             printf("%d\n",&m[i][j]);

     for(i=0;i<2;i++)
         delete[] m[i];
     delete []m;
    return 0;
}
请问为什么输出后,不是对于的结果呢?
搜索更多相关主题的帖子: std 
2012-02-17 21:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
你这代码……,懒得和你说。只说错误吧,0. 这不是二维数组  1. memset只设置了int的一个字节  2. printf输出的不是m[i][j]的值,而是其地址
2012-02-18 08:35
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
得分:0 
汗,好吧 我错了
2012-02-18 12:40
donggegege
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:125
专家分:368
注 册:2011-5-1
得分:0 
确实很乱,就设一个数字,还用 memset, int **m,i,j;这又是什么啊,用那么多**干吗。 printf("%d\n",&m[i][j]);&是取地址符


2012-02-21 13:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-361095-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.115374 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved