牛骨文教育服务平台(让学习变的简单)
博文笔记

使用一维数组或指针遍历二维数组

创建时间:2016-06-26 投稿人: 浏览次数:1014
//使用一维数组遍历二维数组

#include <stdio.h>

void print_array(int* a,int length)
{
    int i = 0;
    for(i=0;i<length;i++)
    {
        printf("%d: %d
",i,a[i]);
    }
}

int main(void)
{
    int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
    int i = 0;
    int j = 0;

    printf("a : %p
",a);
    printf("&a[0] : %p
",&a[0]);
    printf("&a[0][0] : %p
",&a[0][0]);

    printf("&a[1] : %p
",&a[1]);
    printf("&a[1][0] : %p
",&a[1][0]);

    printf("&a[2] : %p
",&a[2]);
    printf("&a[2][0] : %p
",&a[2][0]);


    //以指针的形式遍历二维数组

    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            printf("%d
",*(*(a+i)+j));
        }
    }

    int *p = &a[0][0];  //二维数组的首元素的地址也为二维数组的地址

    print_array(p,9);
    printf("---end---
");
    return 0;
}

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。