malloc && free (malloc使用循环链表管理)
来源:互联网 发布:淘宝怎么注册店铺 编辑:程序博客网 时间:2024/05/21 04:21
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct { int number; char *msg; } unit_t;
int main(void) { unit_t *p = malloc(sizeof(unit_t));
if (p == NULL) {
printf("out of memory\n");
exit(1); }
p->number = 3; p->msg = malloc(20); strcpy(p->msg, "Hello world!");
printf("number: %d\nmsg: %s\n", p->number, p>msg);
free(p->msg);
<span style="white-space:pre"></span>free(p);
p = NULL;
return 0;
}
unit_t *p = malloc(sizeof(unit_t));这一句,等号右边是void *类型,等号左边 是unit_t *类型,编译器会做隐式类型转换,我们讲过void *类型和任何指针类型之间可 以相互隐式转换。
虽然内存耗尽是很不常见的错误,但写程序要规范,malloc之后应该判断是否成功。以后 要学习的大部分系统函数都有成功的返回值和失败的返回值,每次调用系统函数都应该判 断是否成功。
0 0
- malloc && free (malloc使用循环链表管理)
- 环境表 内存管理-malloc()/free()
- 内存管理(malloc和free用法)
- malloc,free使用入门
- malloc/free
- malloc/free
- malloc/free
- malloc,free
- malloc & free
- malloc & free
- malloc free
- malloc/free
- free和malloc的使用
- malloc和free的使用
- C语言 内存管理精讲(malloc,calloc,free,relloc使用)
- 内存管理中的(new、delete、malloc、free)
- new delete与malloc free之内存管理(1)
- 动态内存管理(malloc、 free、 calloc、 realloc)
- TCP的三次握手和四次挥手
- 关于 TCP 并发连接的几个思考题与试验GOOD
- Bluetooth Low Energy for Android --- Google官方说明文档(英文)
- iOS生成二维码,以及二维码扫描
- linux下生成core dump文件方法及设置
- malloc && free (malloc使用循环链表管理)
- Android广播机制概述
- ios耳机线控 关于“remoteControlReceivedWithEvent”不执行的问题
- 7. ICViewPager how to pushViewController
- C/C++中const关键字详解 终结版
- HDOJ 3791 二叉搜索树(二叉排序树的建立和遍历)
- Coursera Machine Learning 学习笔记(十一)
- 欢迎使用CSDN-markdown编辑器
- Multiply Strings