malloc函数示例1和malloc函数示例2有什么区别
时间: 2024-06-16 20:03:17 浏览: 98
malloc函数示例1和malloc函数示例2的区别在于内存分配的方式和返回值的类型。
malloc函数示例1中,使用malloc函数分配了一个int类型的内存空间,并将其地址赋给指针p。然后将指针p的值赋给了变量pp,并打印了pp的值。
malloc函数示例2中,使用malloc函数分配了一个int类型的内存空间,并将其地址赋给指针p。然后将指针p的值赋给了变量n,并将n的值赋给了变量p,并打印了p的值。
所以,malloc函数示例1返回的是一个指针,而malloc函数示例2返回的是一个int类型的值。
相关问题
C语言 malloc函数函数示例
下面是一个使用 malloc 函数的示例,它创建了一个包含 5 个整数的动态数组:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr;
int i, n = 5;
// 分配内存空间
arr = (int*)malloc(n * sizeof(int));
// 检查是否分配成功
if (arr == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
// 初始化数组
for (i = 0; i < n; i++) {
arr[i] = i + 1;
}
// 输出数组
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
// 释放内存空间
free(arr);
return 0;
}
```
在这个示例中,我们首先声明了一个指向整数的指针变量 arr,然后使用 malloc 函数分配了 n 个整数大小的内存空间,并将其赋值给 arr。如果分配失败,则输出错误信息并退出程序。
接下来,我们使用 for 循环初始化数组,并再次使用 for 循环输出数组。最后,我们使用 free 函数释放了动态数组的内存空间。
malloc函数用法示例
下面是一个使用malloc函数的示例,用于分配一个大小为10个int类型元素的数组,并对其进行初始化:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr;
int i;
arr = (int *)malloc(10 * sizeof(int)); // 分配10个int类型元素的数组
if (arr == NULL) {
printf("Memory allocation failed!\n");
exit(1);
}
for (i = 0; i < 10; i++) {
arr[i] = i; // 对数组进行初始化
}
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]); // 输出数组元素
}
free(arr); // 释放内存
return 0;
}
```
在上面的示例中,我们首先声明了一个指向int类型的指针arr,并使用malloc函数分配了一个大小为10个int类型元素的数组的内存空间。注意,在使用malloc函数分配内存时,需要将其强制转换为指向所需类型的指针。然后,我们对这个数组进行了初始化,并输出了数组中的元素。最后,我们使用free函数释放了这个数组所占用的内存空间。
阅读全文