| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 545 人关注过本帖
标题:指向指针的指针问题;求帮忙解释一下
只看楼主 加入收藏
风车转风车89
Rank: 2
等 级:论坛游民
帖 子:125
专家分:45
注 册:2014-9-15
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:10 
指向指针的指针问题;求帮忙解释一下
int **p;
p=(int**)malloc(10*sizeof(int*));
for(i=0;i<10;i++)
   p[i]=(int*)malloc(20*sizeof(int));

这样写错在哪里,我简单跟踪一下,发现 p 分配的有地址,p[0] 也有地址,但从1之后就错了为什么,求解释?
2015-04-03 20:51
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:20 
你这段代码我还真没觉得有什么问题。非要说有,就算变量i没声明吧。

为防万一,我测试了你的代码,编译和执行都没问题,结果也是正确的。

重剑无锋,大巧不工
2015-04-03 21:13
风车转风车89
Rank: 2
等 级:论坛游民
帖 子:125
专家分:45
注 册:2014-9-15
收藏
得分:0 
回复 2楼 beyondyf
B版,我在这里一直报错通不过;我跟踪一下显示的是在i=1之后malloc就分不出地址了,
程序代码:
Group_inform group; Graph g1,*g;
    int i,j;

    g=&g1;

    group.group_family=(int**)malloc(group_num*sizeof(int*));
    group.fitness=(double*)malloc(group_num*sizeof(double));
    group.probability=(double*)malloc(group_num*sizeof(double));
    for(i=0;i<group_num;i++)
        group.group_family[i]=(int*)malloc(g->vertex_num*sizeof(int));
2015-04-03 21:26
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
Group_inform是个类还是结构?把定义发上来我看看。

重剑无锋,大巧不工
2015-04-03 21:30
风车转风车89
Rank: 2
等 级:论坛游民
帖 子:125
专家分:45
注 册:2014-9-15
收藏
得分:0 
回复 2楼 beyondyf
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-04-03 21:33
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
还有,你这报错指的是执行的时候是吧?你跟踪一下group_num的值的变化。

另外,你的问题应该不是语法方面的,是逻辑上的问题,不行就把代码全发上来吧(至少这个函数的完整代码)。

。。。。。。
看到你的图了,在16行加一个断点,看下g->vertex_num的值是多少。

[ 本帖最后由 beyondyf 于 2015-4-3 21:37 编辑 ]

重剑无锋,大巧不工
2015-04-03 21:33
风车转风车89
Rank: 2
等 级:论坛游民
帖 子:125
专家分:45
注 册:2014-9-15
收藏
得分:0 
回复 4楼 beyondyf
是一个结构
程序代码:
#ifndef  __hereditary_h
#define  __hereditary_h

#define Generation_Num 50          //种群迭代次数
#define group_num 20                //种群成员数目
#define mating_probability 0.8      //交配概率
#define mutation_probability 0.001  //变异概率

typedef struct Group_inform
{
    int **group_family;
    double *fitness;
    double *probability;

}Group_inform;
2015-04-03 21:37
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 7楼 风车转风车89
明白了,玩基因算法呢是吧,按我上一贴增加的部分调试一下告诉我结果。

重剑无锋,大巧不工
2015-04-03 21:39
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
等等,这是main函数哦,你的g还没赋值呢吧,vertex_num多数是个0。这应该是问题所在了

重剑无锋,大巧不工
2015-04-03 21:41
风车转风车89
Rank: 2
等 级:论坛游民
帖 子:125
专家分:45
注 册:2014-9-15
收藏
得分:0 
回复 8楼 beyondyf
谢谢B版,找到原因了,先建的图后初始化,结果我先初始化,根本没图的信息,所以出错!B版好眼力
2015-04-03 21:49
快速回复:指向指针的指针问题;求帮忙解释一下
数据加载中...
 
   



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

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