美文网首页
C++ 指针

C++ 指针

作者: 不决书 | 来源:发表于2023-02-27 09:04 被阅读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

    相关文章

      网友评论

          本文标题:C++ 指针

          本文链接:https://www.haomeiwen.com/subject/klrhldtx.html