// 新建一个地址为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
网友评论