C++指针数组

C++指针数组

这里所介绍的C++指针数组,不是之前介绍C++数组时介绍的指向数组的指针,而是数组的元素都是由指针构成,也大致可以理解为指针数组的元素是一个个内存地址。

C++指针数组定义方法

C++的指针数组的定义方法,与定义其它的数组的语法是一样的,只是将元素改成同类型的指针即可。如果指针数组中元素的指针指向的只是普通的变量的内存地址,则可以使用寻址符号“&”来获取变量的地址,如果元素指针指向的是C++中的字符串或数组,则可以直接将这些类型的变量当作元素,因为数组,包括字符数组,是指向数组第一个元素的内存地址的指针。如果指针数组中的元素是数组,那么就相当于是多维数组了。

C++指针数组的声明语法大致如下:

type *pointerArrName[ max ]

C++指针数组实例代码

如下实例代码,定义了一个元素为字符串的指针数组,并通过printf()函数和%x占位符输出其内存地址,之后定义了一个普通变量,并使用“&”寻址符号将地址赋值给另一个指针数组:

#include <iostream>
using namespace std;


int main(){
    // 定义一个元素为字符串的指针数组
    const char *pstr[2] = {"Hello","World"};
    printf("%s\n",pstr[0]);
    // 定义指向普通变量的指针数组
    int arr[3] = {1,2,3};
    int *pInt[3] = {NULL, NULL, NULL};
    for(int i=0; i<3; i++){
        pInt[i] = &arr[i];
    }

    for(int *j : pInt){
        cout << *j << endl;
    }
    
    return 0;
}

代码编译运行,得到输出:

Hello
1
2
3

免责声明:内容仅供参考,不保证正确性!


全栈后端 / C++教程 :
















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.