zoukankan      html  css  js  c++  java
  • 数组指针与指针数组

    一、数组指针是指向数组的一个指针,例如int (*p)[4];,表示的是p指向拥有4个元素的数组的指针,p是指向一维数组的首地址。

    int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
    int (*p)[4];

    (*p)[0]保存的元素1,p+1表示指针位置下移一行,*(p+2)+3表示的是第二行第三列元素的地址,即&a[2][3],*(*(p+2)+3)表示的是第二行第三列元素的值,即a[2][3]。

    代码示例如下:

    void arraypointer()//数组指针应用
    {
        int a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
        int (*p)[4];
        int row,col;
        p=a;
        for(row = 0; row < 3; row++)
        {
            for(col = 0; col < 4; col++)
            {
                printf("a[%d,%d] = %-4d",row,col,*(*(p+row)+col));
            }
            printf("
    ");
        }
    }

    二、指针数组是一个数组,数组中的元素是指针类型的数据。定义如下:int *p[4],由于[]的优先级比*高,p与[]优先结合,形成平p[]的数组,然后与*结合,表明数组是指针类型,保存的是指针类型的变量。

    代码示例如下:

    void pointerarray()//指针数组应用
    {
        char *book[4] = {"C PROGRAMMING LANGUAGE",
            "ASSEMBLY LANGUAGE","JAVA LANGUAGE",
            "NATURAL LANGUAGE"};
        int n = 4;
        int row;
        char *ptr;
        for(row = 0; row < n; row++)
        {
            ptr=book[row];
            printf("%s
    ",ptr);
        }
    }
  • 相关阅读:
    Java8之Consumer接口
    Java8之Cloneable接口
    Java基础之Iterator接口
    Java基础之Iterable接口
    WPF中窗体在同一个位置实现不同页面切换
    WPF中单选框RadioButton
    WPF中的TextBlock处理长字符串
    WPF中Canvas使用
    WPF中窗体调用窗体
    WPF中HyperLink超链接的使用
  • 原文地址:https://www.cnblogs.com/zxy1992/p/3452405.html
Copyright © 2011-2022 走看看