指针与动态内存分布

原创
2015/06/06 16:51
阅读数 12

一.指针

  1. 指针的类型是它所指向变量的类型,而不是指针本身数据值的类型,任何一个指针本身的数据值都是unsigned long int型。

  2. 允许声明指向void类型的指针。该指针可以被赋予任何类型对象的地址。

  3. void 指针赋值给int指针需要类型强制转换

    例:void *pv;

          int *pint;

          int i;

         pv=&i;

        pint=(int*)pv;

  4. 指针常量:不能通过指针来改变所指对象的值,但指针本身可以改变,可以指向另外的对象。

    例:

    const int n2=5;

    const int &pn=&n2;

    *pn=6;                      //错误

    const int n1=6;

    pn=&n1;                //对

二.动态内存分配

一.动态申请内存操作符new
  1. 格式:new 类型名T(初值列表)。

  2. 功能:在程序执行期间,申请用于存放T类型对象的内存空间,并依初值列表赋以初值。

  3. 结果值:成功:T类型的指针,指向新分配的内存。

    失败:0(NULL)

二.释放内存操作符delete
  1. 格式:delete 指针p;

  2. 功能:释放指针p所指向的内存。p必须是new操作的返回值。

    例:

    Point *p=new Point(1,2);

    Point *pt=new Point[2];    //创建对象数组

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部