| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1226 人关注过本帖
标题:创建二位数组,指点一下,感谢
取消只看楼主 加入收藏
塘角
Rank: 1
等 级:新手上路
帖 子:35
专家分:5
注 册:2008-12-16
结帖率:75%
收藏
 问题点数:0 回复次数:3 
创建二位数组,指点一下,感谢
三方式创建二维数组 Int a[3][4];
1.指向指针的指针 int **p;
2.指针数组 int *p[3];
3.数组指针 int (*p)[4];
1.
  **p=(int **)malloc(sizeof(int)*3);
  for(int i0;i<3;i++)
  {
    *(p+i)=(int *)malloc(sizeog(int)*4);
  }     
2.for(int i=0;i<3;i++)
 {
  *p[i]=(int *)malloc(sizeof(int)*4);
  }
3.我不知道如何创建,高手指点一下,对二位数组不是很清楚!
搜索更多相关主题的帖子: 感谢 
2009-11-05 15:37
塘角
Rank: 1
等 级:新手上路
帖 子:35
专家分:5
注 册:2008-12-16
收藏
得分:0 
十分感谢,平时就对这个比较迷惑

海纳百川,有容乃大!!
2009-11-05 18:24
塘角
Rank: 1
等 级:新手上路
帖 子:35
专家分:5
注 册:2008-12-16
收藏
得分:0 
UserYuH的测试程序不能用,c=(int **)malloc(3*4*sizeof(int));
除了加上头文件“stdlib.h”,指针不一样
“ cannot convert from 'int ** ' to 'int (*)[4]'”
我无法解决这个问题,高手帮忙写一个正确的
要数组指针创建,感谢一下

海纳百川,有容乃大!!
2009-11-05 18:41
塘角
Rank: 1
等 级:新手上路
帖 子:35
专家分:5
注 册:2008-12-16
收藏
得分:0 
我写了一个,这样完成,但是我无法肯定它理论上是否正确(vc运行正确
#include<stdlib.h>
#include<stdio.h>
typedef int (*a)[4];
int main()
{
    a b;
    int i=0,j=0;
    b=(a)malloc(sizeof(int)*2*4);
    for(i=0;i<2;i++)
     for(j=0;j<4;j++)
     {
         b[i][j]=4;
     }
    for(i=0;i<2;i++)
    {
        for(j=0;j<4;j++)
     {
        printf("%d ",b[i][j]);
     }
      printf("\n");
    }
    return 0;
}
我希望是用指针形式操作,比如在申请内存时,我想像**p一样分成两层写,但是不知道怎么办,大家帮帮忙,搞晕了



海纳百川,有容乃大!!
2009-11-05 19:01
快速回复:创建二位数组,指点一下,感谢
数据加载中...
 
   



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

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