目录
1.#define定义常量和宏
1.1预处理
编译一个C语言程序的第一步骤就是预处理阶段,这一阶段就是宏发挥作用的阶段。C预处理器在源代码编译之前对其进行一些文本性质的操作,主要任务包括删除注释、插入被#include进来的文件内容、定义和替换由#define 定义的符号以及确定代码部分内容是否根据条件编译(#if )来进行编译。”文本性质”的操作,就是指一段文本替换成另外一段文本,而不考虑其中任何的语义内容。宏仅仅是在C预处理阶段的一种文本替换工具,编译完之后对二进制代码不可见
注:宏是替换表达式,不是传参
//define定义标识符常量
#define MAX 1000
//define 定义宏
#define ADD(x,y) ((x)+(y))。
//#define-定义标识符常量,只要遇到这个MAX值统统替换成变成100
//#define MAX 100
//#define 可以定义宏-带参数
相比于函数,实现方式比较简单
2.指针
2.1内存
内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。
所以为了有效的使用内存,就把内存划分成一个一个的内存单元,每个内存单元的大小是1个字节。
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
内存是计算机上的一种存储空间有8G/16G...或者更高,程序运行的时候会载入内存程序中如果有数据需要存储也会申请空间。
4位二进制(比特位)转一位十六进制(一个字节),8位二进制(比特)等于1一个字节
&地址a的时候,拿出的是a所占空间内存的4个字节的第一个地址(较小的地址),顺着第一个字节就能找到其他几个字节,在空间上它们是连续的(一个字节占一个地址)
pa的类型是int*
2.2指针变量的大小
地址:
32位机器上,是32个bit位
32位的机器上,指针变量存放的是32bit的地址,8个bit等于1个byte(字节)
指针变量的大小是4个字节
64位机器上,是64个bit位
64位的机器上,指针变量存放的是64bit的地址
指针变量的大小是8个字节
3.结构体
结构体struct的使用
. 和->操作符