C++ 指针

2023-02-27  本文已影响0人  不决书
 // 新建一个地址为0    
void* prt = 0;
// 同上
void* prt = NULL;
// 新建一个空指针,指向内存地址0
void* prt = nullprt;

int val = 8;
// 将var的地址存放在prt
void* prt = &val;


// prt是一个void空指针,指向一个地址是不允许更改, 
// 因为编译器不知道如何分配内存是4字节,还是2字节
// 所以下面这行会报错
*prt = 10;

// 以上正确的方式是
int* prt = &val;
*prt = 10;     // 输出val的值就变成10

// chat类型一个字节,这里是向内存申请8个字节的连续空间,并把首地址返回
char* buffer = new char[8];
// 这是一个内存填充函数,第一个参数是目标内存,第二个是值,第三个是填充长度
memset(buffer, 0, 8);

// 双重指针,这里是将buffer的地址,作为值,存放在prt 指针下, *prt 存放的是buffer的地址
char** prt = &buffer;

// 可以使用delete[] 删除一段连续的内存
delete[] buffer;



关于空针相关的说明可以参考 https://blog.csdn.net/W_H_M_2018/article/details/111120624

上一篇下一篇

猜你喜欢

热点阅读