zoukankan      html  css  js  c++  java
  • C++

    32位操作系统下,不管什么数据类型,指针都是占4个字节的空间大小;

    64位操作系统,占8个字节的空间大小。

    指针

    指针的作用:可以通过指针间接访问内存
    用指针来保存一个地址
    指针就是地址

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int a=10;
        
    //    int *p;// 中间需要空一格
        int * p; //为什么中间空一格才可以出来
        p=&a; //&a:获取a的地址
        //相当于 int * p =&a; 
           
        cout<<&a<<endl; //0x68fed8
        cout<<p<<endl; //0x68fed8
        
        //可以通过解引用的方式来找到指针指向的内存
    //    指针前加*代表解引用,代表p指向的内存中的数据
        *p=1000;
        cout<<*p<<endl; //1000
        //通过p可以间接找到a这块内存,通过*p进行修改
        cout<<a<<endl; //1000
        return 0;
    }

    空指针

    空指针(null point):指针变量指向内存中编号位0的空间。
    作用:初始化指针变量。
    注意:空指针指向的内存不可以访问。
    0-255之间的内存编号是系统占用的,所以不可以访问。

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int * p=NULL;
    //    *p=1000; //会报错
        return 0;
    }

    野指针

    野指针:指针变量指向非法的内存空间。

    #include<iostream>
    using namespace std;
    
    int main()
    {
        //指针变量p指向了内存地址编号位0x1100的内存空间(非法空间)
        int * p=(int *)0x1100;
        cout<<*p<<endl;//可以编译,但是运行会报错
        return 0;
    }

    注意:空指针和野指针都不是我们自己申请的空间,因此不要随意访问。

  • 相关阅读:
    SpringMVC工作原理
    Centosyum方式安装nginx
    centos7通过yum安装JDK1.8
    经典SQL语句
    Jquery选择器
    JS获取当前日期并定时刷新
    MyEclipse快捷键大全
    强大的Layui前端框架地址
    MFC 实现来回滚动效果的进度条
    CImageList* 转 LPDISPATCH 在控件中显示图片
  • 原文地址:https://www.cnblogs.com/OFSHK/p/13062318.html
Copyright © 2011-2022 走看看