zoukankan      html  css  js  c++  java
  • C++学习笔记(指针)

    一.   指针

    1.

    int *p = new int(100);//注意()是表示的是指针初始化,即表示p指向100

       int *P = new int[3];//这里才是创建了一个数组类似于P[3];

       delete[]P; //数组的释放方式

    但是书上也说使用delete P释放数组也可以,只是不提倡,不会出现内存泄漏,但是对于类对象数组来说,这样常行不通(如果类包含有在堆中分配的数据成员,必须用delete[]P来释放数组)

    2. int *p = new int[3];

       int n = 10;

       p = &n;//p最初在堆中分配了一个空间,现在又指向了n,这样堆上的空间无法释放

    3.指针数组:

    char *p[3] = { "1", "2", "40" };

       cout << p[0] << endl; //合法的,分别指向不同的字符常量,也可以通过new来为其分配空间

    1. 指向函数的指针(回调函数常通过函数指针实现)

       int(*p)(int, int);

       p = sum; //其中sum是一个函数,且参数为(int,int)

  • 相关阅读:
    POJ
    CodeForces
    部分和问题
    NOIP200502校门外的树
    消灭虫子
    抓牛
    最长不下降子序列的长度
    HDNoip201501计算结果最小
    抽签
    Ants
  • 原文地址:https://www.cnblogs.com/Con-Tch-LLYF/p/6534104.html
Copyright © 2011-2022 走看看