嗨,我有一个问题,我需要为2D数组分配空间,但不知何故卡住了。之后,它应该进入for循环,但永远不会到达那里。有人知道为什么吗?

  int len = read_file("staedte.csv", staedte, laender, bewohner);

  char **resultat;
  int resultatzaehler = 0;
  resultat =(char **) malloc (100 * sizeof(char));
  if(resultat == NULL){
    printf("Malloc failed to allocate space");
    exit(1);
  }
  for(int i = 0; i < 100; i++){
    resultat[i] =(char *) malloc (100);
    if(resultat[i] == NULL){
      printf("Malloc failed to allocate spacce 2");
      exit(1);
    }
  }

最佳答案

您应该通过使用进行分配

resultat = (char**) malloc(100 * sizeof(char *))
for(i = 0; i < 100; i++) {
resultat[i] = (char*) malloc(100 * sizeof(char))
}

08-25 07:56