0
我有一些问题理解指针C地块分割c语言
我有矩阵然后我通过使用
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是矩阵的一维,瓦是小块的大小)
之后,我想给一个函数只是一个指向超级块的开始的指针,然后函数将在小块 之间移动,例如,如果我有N = 12和su perblock = 4和smallblock = 2。 1-so我如何给出启动超级块的功能点,然后通过小块移动到内部?
2 - 我想知道A [k]是否与参考A + k相同?
不要在'C中输入'malloc'的结果。这样做可能很危险,因为如果忘记为'malloc'包含头部,编译器会认为'malloc'返回'int'。通过强制转换,您迫使编译器将'malloc'的结果解释为将int转换为REAL *或REAL **,如果sizeof(int)!= sizeof会导致严重的问题(REAL *)'。如果没有强制转换,编译器必须发出诊断消息(通常是警告),并且很明显,您忘记了包含'' –
dreamlax