C++ 数组

来源:互联网 发布:dayz独立版垃圾优化 编辑:程序博客网 时间:2024/06/16 21:11

一,一维数组

1,声明一维数组

int a[5] = {1, 2, 3, 4, 5};


2,一维数组与指针

一维数组的数组名是指向第一个元素的指针

*a = a[0];*(a + 1) = a[1];


3,一维数组作为函数的参数

void display(int nums[], int n){    for(int i = 0; i < n; i ++){        cout<<nums[i]<<"  ";    }}


4,动态创建一维数组

int n = 20;int *p = new int[n];


二,二维数组

1,声明二维数组

int a[4][5] = {    {2, 3, 4, 5, 6},    {7, 3, 8, 2, 1},    {8, 3, 4, 5, 0},    {5, 9, 3, 0, 2}}


2,二维数组与指针

二维数组的数组名是指向第一行的指针,指向第 i 行的指针

a + i

可以把二维数组看做有多个一维数组组成,指向每个一维数组的指针

*(a + i) = a[i];

获取二维数组,第 i 行,第 j 列的元素

*(*(a + i) + j) = a[i][j];


3,二维数组作为函数参数

void display(int nums[][5], int n){    for(int i = 0; i < n; i ++){        for(int j = 0; j < 5; j ++){            cout<<nums[i][j]<<"  ";        }        cout<<endl;    }}


4,动态创建二维数组

void display(int **nums, int row, int col){    for(int i = 0; i < row; i ++){        for(int j = 0; j < col; j ++){            cout<<nums[i][j]<<"  ";        }        cout<<endl;    }}int main(){    int row = 3, col = 4;    int **p = new int*[row];  //创建一个指针数组,将其首地址保存在b中             for(int i = 0; i < col; i ++){        p[i] = new int[col];  //为指针数组的每个元素分配一个数组    }    //初始化二维数组    for(int i = 0; i < row; i ++){        for(int j = 0; j < col; j ++){            p[i][j] = j;        }    }    //输出二维数组中的值    display(p, row, col);    return 0;}
0 0
原创粉丝点击