C/C++教程

C语言二维数组指针练习1

本文主要是介绍C语言二维数组指针练习1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

运行结果截图:

 

 代码:

#include <stdio.h>

int main() {

    // 定义一个二维数组并初始化
    int array[4][5] = {0};
    // 定义一个整型二维数组指针p,并初始化将其指向二维数组array
    int (*p) [5]= array;
    int i;
    int j;
    int k = 0;

    printf("array[4][5] is:\n");
    // 给二维数组的各个元素赋值
    for(i = 0;i < 4;i++)
    {
        for (j = 0; j < 5; j++)
        {
            array[i][j] = k++;
            printf("%d ", array[i][j]);
        }
        printf("\n");
    }
    printf("\n");

    // * ( * (array + 3) + 2)) 相当于 array[3][2],也即array数组的第4行第3列元素的值

    // 数组下标方式定位到二维数组array的第1行第1列,打印该位置的数组元素的值
    printf("array[0][0]:         %d\n", array[0][0]);
    //指针定位到二维数组array的第1行第1列,对指针解引用,获得该位置的数组元素的值
    printf("* * array:           %d\n", * * array);

    // 数组下标方式定位到二维数组array的第2行第1列,对指针解引用,获得该位置的数组元素的值
    printf("array[1][0]:         %d\n", array[1][0]);
    //指针定位到二维数组array的第1行第2列,对指针解引用,获得该位置的数组元素的值
    printf("* * (array + 1):     %d\n", * * (array + 1));
    printf("* * (p + 1):         %d\n", * * (p + 1));

    // 数组下标方式定位到二维数组array的第3行第4列,对指针解引用,获得该位置的数组元素的值
    printf("array[2][3]:         %d\n", array[2][3]);
    // 指针定位到二维数组array的第3行第4列,对指针解引用,获得该位置的数组元素的值
    printf("* ( * (p + 2) + 3):  %d\n", * ( * (p + 2) + 3));

    printf("\nmain() finished...\n");
    return 0;
}
这篇关于C语言二维数组指针练习1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!