美文网首页
C++一级和多级指针的使用

C++一级和多级指针的使用

作者: 卢长胜sky | 来源:发表于2016-09-24 11:43 被阅读0次

    C++中的指针是非常好用的,但由于各种指针类型的繁多,很容易遗忘。

    1)一级指针

    例如

    char str[10];

    char str[10] = {0};//初始化

    此时str为一指向10个char类型数据的内存的首地址;

    有时需要动态分配内存,则可以按照如下进行操作

    char *str;//此时str为一个字符指针变量,但未指向任何地址,浮空

    int N = 10;

    str = new char [10];

    运用new关键字,便可以动态申请了。

    2)二级指针

    例如

    char image[100][100];

    char image[100][100] = {{0}};

    此时image为指向100*100的二维char型数组

    但如果需要动态分配内存空间呢?此时,则可以

    char **image;

    image = new char *[100];//image指向一个一维指针数组的首地址

    for(int i = 0; i<100; i++)

    image[i] = new char [100];//为每一个一级指针image[i]分配长度为100的char型数组

    当有一个维度确定数目时

    char (*image)[100];//此时可以看成n*100的二维数组

    image = new int [n][100];

    3)内存的释放

    若为指针指向一个变量,则需用delete

    例如

    int *p;

    int N = 100;

    p = &N;

    delete p;

    或者

    int *p;

    p = new int (100);//此时p指向初始值为100的整形变量

    delete p;

    若指针p指向一维或多位数组,则需用delete[] p;

    驴儿先生笔记,不断更新中zzz...

    相关文章

      网友评论

          本文标题:C++一级和多级指针的使用

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