c - 为什么我无法将 unsigned int 指针转换为 unsigned int?

标签 c casting

我试图将无符号整型的地址类型转换为无符号整型,但是当我编译时,我收到警告:

cast from pointer to integer of different size

这里有一些代码可以帮助演示:

unsigned int i, ret, offset = 270;
ret = (unsigned int) &i - offset;

我希望将 i 的地址转换为 unsigned int 类型,但我不明白为什么它不起作用。

最佳答案

在这里,i不是指针。如果您需要返回一个指针,您可能需要一个指针变量。在您的示例中,返回值返回 i 的位置。 -270 这对我来说毫无用处。我想不出任何这对我有用的例子。

关于c - 为什么我无法将 unsigned int 指针转换为 unsigned int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34346260/

相关文章:

c++ - 声明中类型和对象的相同标识符

c++ - 使用 "Queues"时替代向下转换?

c - 使用互斥锁同步 pthread

c - 均匀对齐字符串

c++ - Pthreads 将 void * 参数转换为 int 数组

java - 类型安全: Unchecked cast from Integer to T

c++ - 使用 dlsym 访问类符号

java - Java 中的转换如何使用模数

c - 如何重置 while 循环?

c - ZMQ 多线程 C 客户端