目录
一、什么是指针
指针是一个特殊变量,它存储的是一个内存地址。
简单理解一下
指针就是一个地址,表示特定字节内存的位置。
二、浅层理解指针
#include <iostream>
int main()
{
int i = 5;//定义i
int* ptr = &i;//建立一个指针,把地址ptr赋给i
std::cout <<*ptr << std::endl;//控制台输出该位置(ptr)上的数据
std::cin.get();
}
在使用指针前应该先定义指针类型,然后就可以使用指针为数据提供应一个内存地址(为数据赋上地址可以通过&运算符来实现)。
2、双重指针:现有一个指针,它指向另一个指针,所以现在我有一个变量,存储着一个内存地址,它指向另一个变量,那个变量存储着一个内存地址。
#include <iostream>
#define LOG(x) std::cout << x << std::endl;
int main()
{
char* buffer = new char[8];//buffer:缓冲缓存;设置new char[]大小为8,并且返回值指向这块内存的开始地址的指针
memset(buffer, 0, 8);//memset函数,是我们指定的数据填充一块内存,它接受一个指针,该指针指向这块内存的开始地,然后接收一个值0,然后是大小
char** ptr = &buffer;
delete[] buffer;
std::cin.get();
}
memset函数:这个函数通常为新申请的内存做初始化工作。