C语言

指向二维数组的指针变量

2020-08-03  本文已影响0人  sakura579
#include <stdio.h>
        
main()
{
    int a[3][3] = {0,1,2,3,4,5,6,7,8};
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
            printf("%d\t",a[i][j]);
        printf("\n");
    }
}

下标法
双循环 外循环 控制行 内循环 控制列
输出
0 1 2
3 4 5
6 7 8

#include <stdio.h>
        
main()
{
    int a[3][3] = {0,1,2,3,4,5,6,7,8},*b;
    b = a[0];
    for(;b<a[0]+9;b++)
        printf("%d\t",*b);
}
    

列指针
输出
0 1 2 3 4 5 6 7 8

当b地址为a[0]+8时 指向最后一个元素 为8
间隔是8个
然后b加1 为a[0]+9 判断为假

#include <stdio.h>
        
main()
{
    int a[3][3] = {0,1,2,3,4,5,6,7,8};
    int i,j;
    int (*p)[3];
    p = a;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
            printf("%d\t",p[i][j]);
        printf("\n");
    }
}

行指针

输出
0 1 2
3 4 5
6 7 8

上一篇 下一篇

猜你喜欢

热点阅读