分配2D数组

问题描述 投票:0回答:2

我在该练习中遇到段故障。

说明:

•编写一个ft_ultimate_range函数,该函数分配和分配一个int数组。这个int表将包含介于min和max之间的所有值。•包括最小值-排除最大值。•如果最小值大于或等于最大值,则范围将指向NULL。•将返回范围大小(如果出现问题,则返回0。)>

#include <stdlib.h>
#include <stdio.h>

int ft_ultimate_range(int **range, int min ,int max)
{
    int len;
    int i;

    i = 0;
    len = max - min;
    if (min >= max)
    {
        *range = NULL;
        return(0);
    }

    **range = (int)malloc(sizeof(int) * len);
    while (min < max)
    {
        range[0][i] = min;
        i++;
        min++;
    }
    return(len);
}

int main()
{
    int min;
    int max;
    int **range = NULL;

    min = 0;
    max = 10;
    printf("%d\n", ft_ultimate_range(range, min, max));
    return(0);
}

我在此练习中遇到了段错误。指令:•编写一个ft_ultimate_range函数,该函数分配和分配一个int数组。此int表将包含介于min和max之间的所有值。 •...

c multidimensional-array malloc
2个回答
0
投票

您猜到您的分配是错误的


0
投票
**range = (int)malloc(sizeof(int) * len);
© www.soinside.com 2019 - 2024. All rights reserved.