作为课程的一部分,我需要以特定方式打印输出,将其分成每个块16字节。我已经搜索了相当长时间,以找到将指针强制转换为int或其他执行模数或除数余数操作的方法,以存储在变量中的指针地址。我遇到了障碍,这里是否有人知道我如何执行这个看似简单的操作?以下是该函数的基本形式:
我删除了所有尝试转换的代码,以便更清楚地说明我的意图。
void printAddress(char *loc, char *minLoc, char *maxLoc) {
minLoc = (loc - (loc % 16));
maxLoc = minLoc + 16;
printf("%p - %p - %p", minLoc, loc, maxLoc);
}
我删除了所有尝试转换的代码,以便更清楚地说明我的意图。
%p
。 - ciphermagi