#define
无参数的宏定义的一般形式为:#define 标识符 字符序列
如:#define TRUE 1
带参数宏定义:#define 标识符(参数表)字符序列
如:#define MAX(A, B) ((A) > (B)?(A):(B))
\
,如: #define MALLOC(n, type)\ ((type*)malloc((n)*sizeof(type)))
头文件
分别写在不同的文件中
重复包含的问题
#ifndef (XXX)
#define XXX内存分配与释放
int* ptr; //声明指针//在堆中申请内存,分配128个intptr = (int*)malloc(sizeof(int)*128);//无论申请的空间大小 一定要进行校验 判断是否申请成功if (ptr == NULL){ return 0;}//初始化分配的内存空间memset(ptr, 0, sizeof(int)*128);//使用*(ptr) = 1;//使用完毕 是否申请的堆空间free(ptr);//将指针设置为NULLptr = NULL;
文件读写相关函数
1.fopen函数
2.fseek函数
3.ftell函数
4.fclose函数
自我检测
1.用十六进制文本编辑器,打开一个记事本的.exe文件,再打开在内存中的记事本进程,记录下这两个文件的不同。
2.将记事本的.exe文件读到内存,并返回读取后在内存中的地址 3.将内存中的数据存储到一个文件中,(.exe格式),然后双击打开,看是否能够使用。