动态数组需要用到申请堆中的空间来实现,使用函数calloc(),原形如下:
void *calloc(size_t num,size_t size ); //在堆中申请size*num个字节的空间
用法如下:
#include <stdio.h>
#include <malloc.h>
int main( void )
{
int *buffer;
buffer = (int *)calloc( 40, sizeof( int ) ); //申请长为40的int型动态数组
if( buffer != NULL )
printf( "Allocated 40 integers\n" );
else
printf( "Can't allocate memory\n" );
buffer[0]=1; //现在你可以像使用数组一样来使用buffer
free( buffer ); //别忘了用完后要归还buffer指向的堆中的空间
}