• 14.课后笔记_遍历堆

    /* *Copyright (c)2015, *All rights reserved. *文件名称:HeapTraverse *作 者:韩逸 *完成日期:20170112 *版 本 号:V3.0 *编译环境:Visual Studio 2012 *问题描述:遍历堆信息 */ #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <crtdbg.h> #include ...

    笔记16次阅读抢沙发,
  • 13.课堂笔记_堆栈

    Malloc

    Debug版下
    栈空间初始化为      CC(屯)
    动态存储空间(堆)为 CD
    堆格式
    堆起始位置要减20字节
    前一块堆位置(为0为第一个堆)
    后一块堆位置(为0为最后一个堆)
    笔记19次阅读抢沙发
  • 10.课堂笔记_指针
    1.指针存在哪,怎么解释
    2.无初始值的时候给NULL.无初始值是上次栈上残留值.
    //指针加减公式

    type *ptr = … ;

    int n = …;
    prt + n = (type * const)( (type)ptr + sizeof(type)*n )
    笔记18次阅读抢沙发
  • 8.课堂笔记_#pragma once和#ifndef的区别

    一般情况下,我们都是把函数声明、类定义、模板定义等写到一个头文件里,需要时将相应的头文件用#include包含到源文件(*.cpp文件)里来。但头文件中又允许包含其它的头文件,这样就难免发生某个头文件被重复地包含。我们可以使用编译预处理命令避免这种情况的发生。 例如,你想确保头文件max.h不会被重复包含,则你可 ...

    笔记32次阅读1条评论
  • 7.课后复习_宏切换UNICODE与ASCII

    通过条件编译来选择使用UNICODE编码还是ASCII编码 #include <stdio.h>#include <string.h>#define UNICODE //定义UNICODE#ifdef UNICODE //如果定义了定义UNICODE则编译#define TCHAR unsigned short int#define tcscpy wcscpy#define tcscat wcscat#define tprintf wprintf#define _T(x) L##x# ...

    笔记21次阅读抢沙发,
  • 6.课堂笔记_预处理指令

    预处理指令大致分为三类:宏定义指令包含文件指令条件编译指令 宏定义指令 不包含字符串且精确查找.在编译选项中加入/P即不产生.obj文件.(产生的.i文件中可查看预处理结果)预处理器不做语法检查,编译器会检查语法.宏定义与定义变量不同,定义变量要为变量分配内存,宏定义只是告诉预处理器,当遇到某个宏名的时候,可以 ...