码迷,mamicode.com
首页 > 编程语言 > 详细

C-函数传数组参数给另一个函数,使用malloc

时间:2018-11-11 23:37:27      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:com   内存   使用   共享   code   数组参数   声明   指针   sum   

// // main.c // // // Copyright ? 2018 myhaspl@myhaspl.com. // #include <stdio.h> #include<stdio.h> void fun(int *array){ int sum=0; for(int i=0;i<5;i++){ printf("%d\n",array[i]); sum=sum+array[i]; } printf("%d",sum); } int main(){ int *buffer=(int*)malloc(sizeof(int)*5); if(buffer==NULL) exit(1); int array[5]={2,4,5,5,3}; memcpy(buffer,array,sizeof(int)*5); fun(buffer); }
   在C函数中声明的非全局变量都分配在函数的栈中,函数执行完毕后,内存将释放。因此,当一个函数传参数给另外一个函数时,如果传递的是一个内存块(比如数组等)的引用和指针,要使用malloc在堆中分配内存,这样,才可以在多函数中共享访问。

C-函数传数组参数给另一个函数,使用malloc

标签:com   内存   使用   共享   code   数组参数   声明   指针   sum   

原文地址:http://blog.51cto.com/13959448/2315559

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!