C语言-使用指针指向此二维数组,然后循环遍历输出


一维指针输出

#include

#include

int main(int* argc, char* argv[])

{

int a[3][4] = { 1, 0, 2, 4, 3, 8,9 };

int* p;

p = a[0];

int i, j;

/* 输出数组中每个元素的值 */

for (i = 0; i < 3; i++)

{

for (j = 0; j < 4; j++)

{

printf("a[%d][%d] = %d\n", i, j, *(p+i*3+j));

}

}

return 0;

}

//二维指针输出

# include

int main(void)

{

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

int i, j;

【C语言-使用指针指向此二维数组,然后循环遍历输出】int(*p)[4] = a; //记住这种定义格式

for (i = 0; i < 3; ++i)

{

for (j = 0; j < 4; ++j)

{

printf("%-2d\x20", *(*(p + i) + j)); /*%-2d中, '-'表示左对齐, 如果不写'-'则默认表示右对齐;2表示这个元素输出时占两个空格的空间*/

}

printf("\n");

}

return 0;

}

    推荐阅读