结构体赋值及free()的问题 2010-10-27 12:42:15 http://blog.chinaunix.net/uid-21702630-id-205956.html
2015-09-06 18:30
405 查看
结构体赋值及free()的问题 2010-10-27
12:42:15
分类: C/C++
结构体:
struct [小标签名称]{成员声明列表};
注意的几点:1、不能在成员声明列表里初始化赋值。
2、如果声明一个结构体变量,如struct struct_name aa; 那么aa已经分配好内存了。可以在后面直接对aa的成员赋值(如果该成员是指针,还是需要对这个指针分配内存后才可赋值的)。
但是,如果是声明一个结构体指针,如sturct struct_name *aa; 那么,在对其成员赋值前,需要用calloc或者malloc分配内存先;如果成员变量是指针,则需要进一步对该成员变量分配内存。
free(*p)释放内存函数:
执行free(*p)后,内存释放,只是在计算机中标记这段内存可用,但里面的数据在被覆盖前还在那里的。在free后,应该把该指针赋值NULL,避免二次使用。
12:42:15
分类: C/C++
结构体:
struct [小标签名称]{成员声明列表};
注意的几点:1、不能在成员声明列表里初始化赋值。
2、如果声明一个结构体变量,如struct struct_name aa; 那么aa已经分配好内存了。可以在后面直接对aa的成员赋值(如果该成员是指针,还是需要对这个指针分配内存后才可赋值的)。
但是,如果是声明一个结构体指针,如sturct struct_name *aa; 那么,在对其成员赋值前,需要用calloc或者malloc分配内存先;如果成员变量是指针,则需要进一步对该成员变量分配内存。
free(*p)释放内存函数:
执行free(*p)后,内存释放,只是在计算机中标记这段内存可用,但里面的数据在被覆盖前还在那里的。在free后,应该把该指针赋值NULL,避免二次使用。
相关文章推荐
- 黑马程序员---网络编程(TCP传输 二)
- RTSP,RTP,RTCP的区别
- 详解大端模式和小端模式
- linux 系统优化tcp连接
- 优化Linux下的内核TCP参数来提高服务器负载能力
- Linux 网络相关内核优化
- 黑马程序员---网络编程(TCP传输)
- ios AFNetworking网络请求
- Android Https相关完全解析 当OkHttp遇到Https
- Android OkHttp完全解析 是时候来了解OkHttp了
- Ubuntu 14.04 64位上安装wps office软件(转http://m.blog.csdn.net/blog/yhc13429826359/24179933)
- TCP/IP数据包结构/协议格式及编程指导
- android http 辅助类
- CCF 2015-03-4 网络延时
- 网络协议
- 线程与网络常见知识点解答
- 关于网络设计服务结构的一些理解
- 网络IP地址
- HDU 5044 Tree (2014年上海赛区网络赛C题)
- HTTP网络协议(五)