C语言定义任意大小的数组(malloc函数的用法)

发布于 / C语言 / 1 条评论

使用malloc前,首先定义一个指针,如int *p=NULL;

接着就是使用malloc申请一块内存,这里以用来定义数组为例。

比如 p=(int*)malloc(sizeof(int)*3);

这个语句的功能是申请一块3个int大小的数组,首先sizeof(int)计算出目前操作环境的int的大小,乘以3就是3个int的大小。接着用malloc申请3个int的大小,用(int*)强制把malloc返回的数据转换为指针,并赋给p。(当然,你也可以定义char类型的,将int换成char就好)

接着用memset(p,0,sizeof(int)*3);初始化申请的内存,这里0代表将这三个int全部赋值为0

然后可以用p[0],p[1],p[2]来操作了。最后一定要记得用free函数释放申请的内存,否则程序占用资源过多,系统性能会下降。

附图(务必注意include所需的头文件)

转载原创文章请注明,转载自: 斐斐のBlog » C语言定义任意大小的数组(malloc函数的用法)
  1. Albert

    wow!本想咨询些问题,但在那之前我被你的评论模块功能惊到了,做得真棒!以至于在我敲完这些字后我的问题也突然想通了。