一维指针输出
#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;
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;
}