标题:求问段错误出现的可能性
取消只看楼主
ximlel
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-3-10
结帖率:0
已结贴  问题点数:20 回复次数:0 
求问段错误出现的可能性
程序代码:
  double * dt_n_pc_x[NUM_CELL];
  initialize_memory(dt_n_pc_x,NUM_CELL,CELL_POINT);
  double * dt_n_pc_y[NUM_CELL];
  initialize_memory(dt_n_pc_y,NUM_CELL,CELL_POINT);
  double * posi_l_pc[NUM_CELL];
  initialize_memory(posi_l_pc,NUM_CELL,CELL_POINT);
printf("duan1\n");
  double * posi_n_pc_x[NUM_CELL];
printf("duan2\n");
  initialize_memory(posi_n_pc_x,NUM_CELL,CELL_POINT);
printf("duan3\n");
  double * posi_n_pc_y[NUM_CELL];
printf("duan4\n");
  initialize_memory(posi_n_pc_y,NUM_CELL,CELL_POINT);
printf("duan5\n");
  double * dt_posi_l_n_pc_x[NUM_CELL];
  initialize_memory(dt_posi_l_n_pc_x,NUM_CELL,CELL_POINT);
  double * dt_posi_l_n_pc_y[NUM_CELL];
  initialize_memory(dt_posi_l_n_pc_y,NUM_CELL,CELL_POINT);

程序代码:
void initialize_memory(double * p[],int N,int * CELL_POINT[])
{
int k,i;
for(k = 0; k < N; ++k)
        {
            p[k] = (double *)malloc(CELL_POINT[k][0] * sizeof(double));
            if(p[k] == NULL)
                {
                    for(i = 0; i < k; ++i)
                        {
                            free(p[i]);
                            p[i] = NULL;
                        }
                    printf("Initialize_memory fail.\n");
                    exit(5);
                }
        }
}


求问大虾们为什么当NUM_CELL变大后,程序在断点3到4之间(也就是double * posi_n_pc_y[NUM_CELL];这句)会出现段错误。
(编译环境ubuntu14 gcc)
搜索更多相关主题的帖子: color 可能性 
2015-03-10 21:31



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




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

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