分配二级指针空间例子
#include<stdio.h>
#include<stdlib.h>
int main()
{
int **p; //定义一个二级指针
int n=3,m=4; //4行3列
p=(int **)malloc(4*sizeof(int *)); //分配一块空间,大小是4*sizeof(int *),保存四个指针,每个指针指向每一行的位置
int i=0;
for(i=0;i<m;i++)
{
*(p+i)=(int *)malloc(3*sizeof(int)); //分配4次空间,每次分配3*sizeof(int)大小,里面保存3个值
}
int j;
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
*(*(p+i)+j)=(i+1)*(j+1); //给12个空间赋值
printf("%d\t",*(*(p+i)+j));
}
printf("\n");
}
for(j=0;j<m;j++)
free(*(p+j)); //释放空间。
free(p);
return 0;
}
有梦想就不会觉得苦.
Do you know what is the glittering life?