深入理解 C 指针阅读笔记 -- 第六章
Chapter6.h
#ifndef __CHAPTER_6_
#define __CHAPTER_6_ /*《深入理解C指针》学习笔记 -- 第六章*/ typedef struct __person
{
char* name;
char* title; unsigned int age;
}person; /*结构体内存的释放问题*/
void __struct_memory_test(); #endif
Chapter6.cpp
#include "Chapter6.h"
#include <stdio.h>
#include <malloc.h>
#include <string.h> /*结构体内存的释放问题*/
/*对于结构体内存在指针的情况,我们须要注意如何正确的使用这个结构体*/
void __struct_memory_test()
{
/*第一种使用结构体的方式*/
person ps; /*须要为结构体内的指针分配内存才干存储值*/
ps.name = (char*)malloc(sizeof(char) * 16);
strcpy(ps.name, "DLUTBruceZhang"); ps.title = (char*)malloc(sizeof(char) * 10);
strcpy(ps.title, "DLUT"); ps.age = 24; /*使用完之后须要释放结构体指针的内存*/
free(ps.name);
free(ps.title); /*另外一种使用结构体的方式*/
person* ps2; /*
首先,须要为结构体申请内存,可是这里须要注意的是,仅仅是为这个结构体申请
内存。结构体内的其它指针须要另外申请别的内存
*/
ps2 = (person*)malloc(sizeof(person)); /*须要为结构体内的指针分配内存才干存储值*/
ps2->name = (char*)malloc(sizeof(char) * 16);
strcpy(ps2->name, "DLUTBruceZhang"); ps2->title = (char*)malloc(sizeof(char) * 10);
strcpy(ps2->title, "DLUT"); ps2->age = 24; /*
使用完内存后须要释放掉,这里须要注意的是释放内存的顺序
首先应该释放结构体内指针指向的内存,这里是没有先后顺序的,
可是。释放整个结构体的内存一定是最后一步
*/
free(ps2->name);
free(ps2->title); free(ps2);
}
深入理解 C 指针阅读笔记 -- 第六章的更多相关文章
- 深入理解 C 指针阅读笔记 -- 第五章
Chapter5.h #ifndef __CHAPTER_5_ #define __CHAPTER_5_ /*<深入理解C指针>学习笔记 -- 第五章*/ /*不应该改动的字符串就应该用 ...
- 深入理解 C 指针阅读笔记 -- 第二章
Chapter2.h #ifndef __CHAPTER_2_ #define __CHAPTER_2_ /*<深入理解C指针>学习笔记 -- 第二章*/ /* 内存泄露的两种形式 1.忘 ...
- 《图解HTTP》阅读笔记--第六章--HTTP首部
第六章.HTTP首部 <非常重要且恐怖的一章了> HTTP报文=报文首部+(CR+LF)+报文实体 首部字段:HTTP报文首部字段=(首部字段名:字段值)们---类型*4: 通用首部字段( ...
- Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable
酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...
- Android群英传笔记——第六章:Android绘图机制与处理技巧
Android群英传笔记--第六章:Android绘图机制与处理技巧 一直在情调,时间都是可以自己调节的,不然世界上哪有这么多牛X的人 今天就开始读第六章了,算日子也刚好一个月了,一个月就读一半,这效 ...
- JVM学习笔记-第六章-类文件结构
JVM学习笔记-第六章-类文件结构 6.3 Class类文件的结构 本章中,笔者只是通俗地将任意一个有效的类或接口锁应当满足的格式称为"Class文件格式",实际上它完全不需要以磁 ...
- 深入理解C指针----学习笔记
深入理解C指针 第1章 认识指针 理解指针的关键在于理解C程序如何管理内存,指针包含的就是内存地址. 1.1 指针和内存 C程序在编译后,以三种方式使用内存: 1. 静态. ...
- 《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(1)
<Microsoft Sql server 2008 Internals>索引文件夹: <Microsoft Sql server 2008 Internals>读书笔记--文 ...
- 韩松毕业论文笔记-第六章-EFFICIENT METHODS AND HARDWARE FOR DEEP LEARNING
难得跟了一次热点,从看到论文到现在已经过了快三周了,又安排了其他方向,觉得再不写又像之前读过的N多篇一样被遗忘在角落,还是先写吧,虽然有些地方还没琢磨透,但是paper总是这样吧,毕竟没有亲手实现一下 ...
随机推荐
- Postman 安装及使用入门教程 | 前后台 写接口的 徐工给的
https://www.cnblogs.com/mafly/p/postman.html
- Java垃圾回收之新生代垃圾收集器
问题:什么是Stop-the-World? 1.JVM由于要执行GC而停止了应用程序的执行 2.任何一种GC算法中都会发生 3.多数GC优化通过减少Stop-the-world发生的时间来提高程序的性 ...
- HTML页面中5种超酷的伪类选择器:hover效果
想在自己的网站中应用超酷的hover效果吗?也许你可以从如下的这些实例中获得一些灵感,如果你喜欢这些效果,也可以直接拷贝代码并应用到你的站点. 给平淡的站点带来活力 hover效果能给网页增加一些动态 ...
- 从零开始--系统深入学习Android
http://www.cnblogs.com/tianjian/category/354587.html
- 485. Max Consecutive Ones@python
Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: [1, ...
- css控制超出部分自动省略...
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 最近公共祖先-三(RMQ-ST)
描述 上上回说到,小Hi和小Ho使用了Tarjan算法来优化了他们的"最近公共祖先"网站,但是很快这样一个离线算法就出现了问题:如果只有一个人提出了询问,那么小Hi和小Ho很难决定 ...
- 【转载】Sql语句用left join 解决多表关联问题(关联套关联,例子和源码)
csdn中高手帮我给解决了,其实就是别名,给自己上了一堂别名的课,所谓别人是高手,其实就是自己是菜鸟吧! 表1:------------------------------ [人事表] 表名: ...
- nginx 集群
Nginx是什么? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器.一直纳闷这个X是怎么来 ...
- 【linux 06】 linux中的用户权限、文件权限与目录权限
1.用户及用户组的概念: 1.文件所有者 2.用户组 3.用户 以root登录Linux之后,执行ls -al,会看到有关文件属性的信息 -rw-r--r--,第1个字符代表这个文件是“目录,文件或链 ...