🎉 malloc函数两个使用实例 🎯
`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()` 释放内存,避免内存泄漏。💪
免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。