我在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个插槽。
我做错了什么?
答案 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?