gpt4 book ai didi

c - 获取指针的长度(不是 sizeoff )

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

出于某种特殊原因,我需要获取指针的长度(以字符为单位)。如果指针是:

0x2ADF4

它应该返回5,因为指针有5个字符。事实上,我想要将指针的十六进制表示形式的长度转换为整数。 该数字因指针而异。请注意,我不希望我的指针占用总内存(我可以通过 sizeoff 获得)。

最佳答案

您可以将 ptr 转换为 intptr_t 类型,然后使用标准数字计数算法:

int main() {
int counter = 0;
int* ptr = &counter;
intptr_t val = (intptr_t)ptr;

while ( val > 0 )
{
val/=16;
++counter;
}

printf("%d", counter);

return 0;
}

关于c - 获取指针的长度(不是 sizeoff ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43896221/

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