首页 > 科技 >

🎉 malloc函数两个使用实例 🎯

发布时间:2025-04-03 15:54:21来源:

`malloc()` 是 C 语言中常用的动态内存分配函数,用于在运行时申请指定大小的内存空间。下面通过两个简单实例展示它的实际应用。

实例一:数组动态分配

假设我们需要存储用户输入的若干个整数,但事先不知道具体数量。此时可以使用 `malloc()` 动态分配内存:

```c

include

include

int main() {

int n;

printf("请输入数组长度: ");

scanf("%d", &n);

int arr = (int )malloc(n sizeof(int)); // 动态分配内存

if (arr == NULL) { // 检查是否分配成功

printf("内存分配失败!\n");

return 1;

}

for (int i = 0; i < n; i++) {

arr[i] = i + 1;

}

for (int i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

free(arr); // 释放内存

return 0;

}

```

这段代码实现了根据用户输入动态创建数组并存储值,最后释放内存。✨

实例二:结构体指针分配

当需要操作复杂数据类型时,比如结构体,也可以用 `malloc()` 分配内存:

```c

include

include

typedef struct Person {

char name[50];

int age;

} Person;

int main() {

Person p = (Person )malloc(sizeof(Person));

if (p == NULL) {

printf("内存分配失败!\n");

return 1;

}

strcpy(p->name, "Alice");

p->age = 25;

printf("Name: %s, Age: %d\n", p->name, p->age);

free(p);

return 0;

}

```

这个例子展示了如何为结构体分配内存,并访问其成员变量。💡

总之,`malloc()` 的灵活性使其成为程序开发中的重要工具,但务必记得在使用后调用 `free()` 释放内存,避免内存泄漏。💪

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。