Создание массива с помощью malloc в c - PullRequest
0 голосов
/ 15 мая 2018

Я программирую на C и пытался создать динамический массив, используя malloc.

Это соответствующий код:

int K_value(int N,int M,int K)
{
    int Input,Temp_Result = 0,Result = 0;
    int i,j,r = 0;
    int* Main_Array = (int*) malloc(N * sizeof(int));
    int* Sub_Array = (int*) malloc(M * sizeof(int));        

    for (i=0; i<N ;i++) // Enter Values Into the Main array
    {
        scanf("%d",&Input);
        Main_Array[i] = Input;
    } //End of For loop

Когда я запускаю в режиме отладки, я вижу, чтоMain_Array имеет только 1 слот и N = 5.Я ожидал, что у Main_Array будет 5 слотов.

Что я делаю не так?

1 Ответ

0 голосов
/ 15 мая 2018

Вы не делаете ничего плохого.

Ваш отладчик не знает размер массива Main_Array.Вы можете попробовать привести его в отладчик, чтобы увидеть остальные данные.

Например, Eclipse IDE позволит вам выбрать «Cast to Type» или «Display As Array».

Пожалуйста, посмотрите этот ответ для Visual Studio

Как отобразить динамически размещенный массив в отладчике Visual Studio?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...