gpt4 book ai didi

C语言 block 划分

转载 作者:行者123 更新时间:2023-11-30 18:00:35 28 4
gpt4 key购买 nike

我在理解指针时遇到一些问题

我有矩阵,然后我使用它将其分成小块

 tiles_num = n /tile;
// Allocate blocked matrix
Ah = (REAL **) malloc( tiles_num * tiles_num * sizeof(REAL *));
if (Ah == NULL) {
printf("ALLOCATION ERROR (Ah)\n");
exit(-1);
}

for (j = 0; j < tiles_num * tiles_num; j++) {
Ah[j]=(REAL *) malloc(tile * tile * sizeof(REAL));
if (Ah[ j ] == NULL) {
printf("ALLOCATION ERROR (Ah[%d] )\n", j);
exit(-1);
}
}

其中(tiles_num是小块的数量,n是矩阵一维的大小,tile是小块的大小)

之后我想给一个函数一个指向 super block 开头的指针,然后该函数将在小块之间移动例如,如果我有 N=12, super block =4,小块=2。1-那么我如何给出启动 super block 然后通过小块移动到内部的功能点?

2-我想知道A[k]是否与A+k相同以供引用?

最佳答案

如果我正确理解了这个问题,你可以将 Ah 传递给你的函数,因为 Ah 是指向小块列表的指针。这能回答你的问题吗?

关于你的第二个问题,A[k]是地址A+k处的值。所以A[k]实际上等价于*(A+k),或者反过来,&(A[k])等价于A+k。

关于C语言 block 划分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10377344/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com