c语言_Day9_07_07
# c语言_Day9_07_07
### 1、初识宏
通过#define定义一个类似于函数的结构,但比函数更加简洁
```c
#define MAX(X, Y) (X > Y ? X : Y)
int main()
{
int a = 5;
int b = 10;
printf("max = %d\n", MAX(a, b));
return 0;
}
```
### 2、初识指针
#### 1、内存与地址
内存:一块内存划分为多个内存单元
地址:每个内存单元对应一个地址
32位:32根地址线(2^32种电信号的排列组合),2^32个内存地址
64位同理
```c
int a = 10;
```
上述代码在内存层面为:为a申请4个字节的大小
**取地址**:可通过取地址操作符"**&**"来获取变量存放的地址值
**存地址**:有一种变量可用于存放取地址值“**&**”所取出的地址值,即为**指针**
**找地址**:通过解引用操作符“*****”,找到指针变量所指向的数据
```c
int main()
{
int a = 10;
int* p = &a
printf("%p\n", p);
printf("%d\n", *p);
return 0;
}
```
#### 2、指针变量
指针变量大小:32位:32个bit位 --- 4byte
64位:64个bit位 --- 8byte