C语言中的内存分配除了可合理使用内存空间还有什么更重要的作用?如何理解并使用它才好呢?
1个回答
展开全部
问的清楚点,我好解释. 内存分配的问题,就要多编程啊,尤其是有关指针的.追问:
你说的也差不多对. C语言中,数组长度是固定的,也就是说,你不能定义可变长度的数组,而在现实生活中,要处理的数组规模有时是难以预期的,比如说要处理的是某次考试的成绩,参加考试的考生,可能是几十个人的一个班,也可能是几千人的一个考点,甚至是几百万的全国考生.如果使用数组,就需要按最大规模设计程序,而这在多数情况下又没有必要.
因为数组占据的内存空间是相对固定的,所以就要使用动态内存分配技术了.C语言所提供的相关函数与有3个,就是上面说的malloc ,calloc ,free三个函数.补充:
malloc函数使用方法:int *p;p=(int*)malloc(sizeof(int));
callcoc函数使用方法:
int *p,n=5;
p=(int*)calloc(n,sizeof(int));
free函数使用方法:
注意,为恶劣有效的使用内存资源,程序里动态分配的内存空间必须在使用结束后立即释放,就是调用free函数。浪漫基因的感言:
你说的也差不多对. C语言中,数组长度是固定的,也就是说,你不能定义可变长度的数组,而在现实生活中,要处理的数组规模有时是难以预期的,比如说要处理的是某次考试的成绩,参加考试的考生,可能是几十个人的一个班,也可能是几千人的一个考点,甚至是几百万的全国考生.如果使用数组,就需要按最大规模设计程序,而这在多数情况下又没有必要.
因为数组占据的内存空间是相对固定的,所以就要使用动态内存分配技术了.C语言所提供的相关函数与有3个,就是上面说的malloc ,calloc ,free三个函数.补充:
malloc函数使用方法:int *p;p=(int*)malloc(sizeof(int));
callcoc函数使用方法:
int *p,n=5;
p=(int*)calloc(n,sizeof(int));
free函数使用方法:
注意,为恶劣有效的使用内存资源,程序里动态分配的内存空间必须在使用结束后立即释放,就是调用free函数。浪漫基因的感言:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询