在c中使用malloc创建数组

时间:2018-05-15 16:43:54

标签: c arrays malloc

我在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 :(得分:0)

你没有做错任何事。

您的调试器不知道数组Main_Array的大小。您可以尝试在调试器中将其转换为查看其余数据。

例如,Eclipse IDE将允许您选择&#34; Cast to Type&#34;或&#34;显示为数组&#34;。

请参阅Visual Studio的这个答案

How to display a dynamically allocated array in the Visual Studio debugger?