//
// 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在堆中分配内存,这样,才可以在多函数中共享访问。
©著作权归作者所有:来自51CTO博客作者myhaspl的原创作品,如需转载,请注明出处,否则将追究法律责任
malloc传参数软件设计与架构
0
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦