我对 C 内存概念不是很有经验。我尝试寻找解决方案,但找不到。
我只是想在 C 中创建动态数组。我试图以这种方式创建它,同时尝试检查地址是否连续。程序运行良好。
但是,我在语句之后遇到了分段错误system("pause")
。我也尝试使用调试器进行调试,但没有运气!我正在使用开发 CPP。
有人可以指导我吗?
#include<stdio.h>
#include<stdlib.h>
main()
{
int a[0], *ptr, i;
printf("%d", sizeof(a[0]));
a[0]=1;
for(i=1;i<10;i++)
{
ptr=(int *) malloc(sizeof(int));
printf("Enter a[%d]: ", i);
a[i]= *ptr;
scanf("%d", &a[i]);
}
i=0;
while(i<10)
{printf("\n%u", &a[i++]);}
free(ptr);
system("pause");
}