C语言本身并不直接支持动态数组,但可以通过动态内存分配函数如malloc(), realloc()等来实现动态数组的效果。用户可以根据需要动态地分配或者释放内存空间来模拟动态数组。例如:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *array;
int n, i;
printf("Enter the number of elements: ");
scanf("%d", &n);
// Dynamically alloate memory
array = (int*) malloc(n * sizeof(int));
if(array == NULL)
{
printf("Error! Memory not allocated.");
exit(0);
}
printf("Enter elements: ");
for(i = 0; i < n; ++i)
{
scanf("%d", array + i);
}
// Now, you can use array as a dynamic array
// Don't forget to free the memory
free(array);
return 0;
}
在这个例子中,首先声明了一个指向int的指针。然后根据用户输入的元素数量动态地分配了内存空间。如果内存分配成功,则可以将其作为数组使用。在结束时,不要忘记释放内存。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/173411.html