该方式类似于参考 字符串指针的表示方式。
代码示例:
1//指针数组:
#include <stdio.h>
int main(void)
{
int* num1[3];
int num2[3]={1,2,3};
int i;
for(i=0;i<3;i++)
num1[i]=&num2[i];
for(i=0;i<3;i++)
printf("%4d",*num1[i]);
putchar(‘\n‘);
return 0;
}
2/二维数组的表示:
#include <stdio.h>
void arr_initial(int *arr,int rows,int cols)
{
int i,j;
int num=1;
for(i=0;i<rows;i++)
for(j=0;j<cols;j++)
{
*( arr+(i*cols)+j)=num++;
}
}
void arr_print(int *arr,int rows,int cols)
{
int i,j;
int num=1;
for(i=0;i<rows;i++)
{for(j=0;j<cols;j++)
{
printf("%4d",*( arr+(i*cols)+j));
}
putchar(‘\n‘);
}
}
int main(void)
{
int num1[5][6];
int num2[7][8];
arr_initial(&num1[0][0],5,6);
arr_print(&num1[0][0],5,6);
arr_initial(&num2[0][0],7,8);
arr_print(&num2[0][0],7,8);
return 0;
}
<深入理解C指针>学习笔记和总结 第四章 指针和数组,布布扣,bubuko.com
原文:http://blog.csdn.net/li758568825/article/details/37852483