C语言中malloc函数简介

在 C 语言中,malloc 函数是动态分配内存的函数,用于在堆区分配指定字节数的内存空间,返回该内存块的首地址。malloc 函数的声明如下:

void* malloc(size_t size);

其中,size 是要分配的内存空间的字节数,返回值是分配的内存块的首地址,类型为 void*。

使用 malloc 函数时需要注意以下几点:

  1. 分配的内存空间必须在使用完后及时释放,否则会造成内存泄漏。

  1. 使用 malloc 函数分配的内存空间需要手动释放,使用 free 函数,否则会造成内存泄漏。

  1. 分配的内存空间大小不能为负数。

  1. 分配的内存空间大小不能为 0。

下面是一个使用 malloc 函数分配内存空间的示例代码:

#include <stdio.h>
#include <stdlib.h>
struct Student {
    char name[20];
    int age;
};
int main() {
    // 使用 malloc 函数分配内存空间
    struct Student* stu = (struct Student*)malloc(sizeof(struct Student));//sizeof(struct Student) = 24
    // 判断是否分配成功
    if (stu == NULL) {
        printf("Memory allocation failed.\n");
        return 1;
    }
    // 给分配的内存空间赋值
    strcpy(stu->name, "Tom");
    stu->age = 18;
    // 输出结构体变量的值
    printf("name: %s\n", stu->name);
    printf("age: %d\n", stu->age);
    // 释放分配的内存空间
    free(stu);
    return 0;
}

代码中首先使用 malloc 函数分配了一个结构体 Student 的内存空间,然后判断是否分配成功。如果分配成功,就给分配的内存空间赋值,然后输出结构体变量的值。最后使用 free 函数释放分配的内存空间。运行结果如下:

name: Tom
age: 18

在使用 malloc 函数分配内存空间时,一般要根据实际需要动态计算要分配的内存空间大小,以避免内存浪费。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值