指向二维数组的指针的使用

定义

指向二维数组的指针用 ** 来定义,下面的代码定义一个二维数组a,并申请了BLOCKNUM*4个字节的空间,32位下1个地址占用4个字节。所以a能保存BLOCKNUM=306个地址
使用COMPLEX **a = (COMPLEX **)malloc(BLOCKNUM*4);

实例

int BLOCKNUM = 306;
COMPLEX **a = (COMPLEX **)malloc(BLOCKNUM*4);///定义一个指向二维数组的指针
for (int i = 0; i < BLOCKNUM; i++)
{// *这里为指向二维数组的指针a的每个地址再申请 sizeof(COMPLEX)BLOCKNUM的空间,来保存BLOCKNUM个COMPLEX类型的变量
a[i] = (COMPLEX *)malloc(sizeof(COMPLEX)*BLOCKNUM);//为二维指针数组的每个地址申请一个地址空间
memset(a[i], 0, sizeof(COMPLEX)BLOCKNUM);
}
COMPLEX **lu = (COMPLEX **)malloc(BLOCKNUM
4);
for (int i = 0; i < BLOCKNUM; i++)
{
lu[i] = (COMPLEX *)malloc(sizeof(COMPLEX)*BLOCKNUM);
memset(lu[i], 0, sizeof(COMPLEX)*BLOCKNUM);
}

发布了119 篇原创文章 · 获赞 9 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/haodawei123/article/details/102705715