方法一:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int(*p)[4] = (int (*)[4])malloc(12 * sizeof(int));//数组指针
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
*(*(p + i) +j) = i * 4 + j + 1 ;
}
}
for ( i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
printf("%d\t", *(*(p + i) + j));
}
}
printf("\n");
system("pause");
return 0;
}
方法二:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int j = 0;
int **p = (int **)malloc(3 * sizeof(int));
for (i = 0; i < 3; i++)
{
*(p + i) = (int *)malloc(4 * sizeof(int));
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
p[i][j] = 4 * i + j + 1;
}
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
printf("%d ", *(*(p + i) + j));
}
}
system("pause");
return 0;
}