- 取地址在CPU的寄存器产生,不占据内存
- 地址由计算器总线,地址作为常量不消耗内存
- 指针 存储不同的地址,间接赋值
- 空类型指针 void* 类型指针 不可以取数据 或者修改数据 需要进行强制类型转换
int num = 10;
void *p = #
std::cout << *(static_cast<int*>( p)) << std::endl;
- 空指针 nullptr 避免指针没有存储地址,用于指针的初始化
int num = 10;
q = #
std::cout << *q << std::endl;
补充
- #define 替换的标识 原来的标志
- typedef
数据交换
#include <iostream>
void swap(int &a,int &b){
a ^= b;
b ^= a;
a ^= b;
}
int main(){
int num1 = 10;
int num2 = 20;
swap(num1,num2);
std::cout << num1 << std::endl;
std::cout << num2 << std::endl;
}
输入输出指针