【C语言程序设计进阶】使用malloc对数组进行动态内存分配

本文深入探讨了C语言中如何使用malloc函数进行动态内存分配。讲解了malloc函数的用法,包括需要引入的库,申请内存的单位,以及返回值的类型转换。同时强调了内存释放的重要性,提醒开发者避免内存泄漏和错误释放的问题。并提供了一个代码示例以辅助理解。

在Linux终端窗口中键入:man malloc——可以查看malloc的相关信息

1、使用该函数需要在C语言程序中加入 :

#include<stdlib.h>

2、使用方式

void* malloc(size_t size);

向malloc申请的空间大小是以字节为单位的;返回的结果是void*,需要类型转换为自己需要的类型

(int*) malloc(n*sizeof(int));

3、使用完毕,需要释放内存

free()

把申请得来的空间还给“系统”,且只能还申请来的空间的首地址

4、常见问题

申请了没free——长时间运行内存逐渐下降,造成内存“垃圾”

新手——忘了

老手——找不到合适的free时机

free过了在free

注意:地址变过了,直接去free

5、代码示例

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    
    int number;
    int* a;
    int i;
    printf("输入数量: ");
    scanf("%d",&number);
    a=(int*)malloc(number*sizeof(int));
    for(i=0;i<number;i++){
        scanf("%d",&a[i]);             //输入数字,完全可把a当数组使用
    }
    for(i=number-1;i>=0;i--){
        printf("%d ",a[i]);           //逆序输出
    }
    free(a);                          //释放内存
                      
    return(0);
}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值