A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

    定义指针变量——>初始化指针变量——>使用(使用指针变量间接的存取内存单元的值)
    int *p = &a;      等价于  :int *p;    p = &a;

    指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。

    1)定义同时初始化
        a.完全初始化
            int a = 10;
            int *p = &a;  //用a的地址初始化p这个指针变量,另一种描述方法:p指向了a
            int *p1 = &a,*p2 = &a   //p1 p2都指向了a
        b.部分初始化
            int *p2 = &b,*p4;
            p4 = &b;   
    2)先定义后初始化
        int *p5;
        p5 = NULL;
    3)如果定义了一个指针变量,但是暂时不知道让这个指针指向谁
        int *p4 = NULL;        //NULL是空(0)
        int *p5 = 0;      //空

2 个回复

倒序浏览
6666666666666666
回复 使用道具 举报
指针与内存地址就像是钥匙和房间的关系

指针变量  4个字节 可以指向很大的 malloc 出来的地址
当然  malloc 的地址记得释放   {:2_31:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马