gpt4 book ai didi

c - 是否可以将有符号整数存储在整数指针 (int *) 中?

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:03 26 4
gpt4 key购买 nike

整数指针(实际上是任何指针类型)的特别之处在于您可以为它们分配 NULL 非整数类型的值;而整数无论如何都必须存储一个整数,无论​​是正整数还是负整数(如果我错了请纠正我),并且没有非整数值。

然后,您能否利用指针的这种“特殊”特性(作为可以存储整数和非整数值的变量:NULL)同时存储整数值(通过它们的字面实际值,而不是地址,它将存储一个有符号/无符号整数)并且是一种 boolean - 其中 NULL pointer 表示false 和一个有效指针(即保存整数的指针)(但不是真正有效的 ofc,只是一个不是 NULL 的指针)将表示 true

注意:指针绝不会用于访问内存位置,只是用于存储一个 int。

(Ofc 这只是针对特定用例,并不是说您会在常规代码中执行此操作)


(如果你真的想知道)我正在尝试制作一个递归函数,并希望函数的返回值返回一个整数,但也想跟踪一个条件,所以我也希望它返回一个 boolean 值,但你显然只能返回一个参数......所以可以传递一个整数指针,一个可以同时执行这两个操作的变量,作为解决方案吗?

我想到了其他方法(结构、数组..),但很好奇使用整数指针是否是一种合理的方法。

最佳答案

关于 NULL,指针没有什么特别之处。在不以 8086 实模式运行的基于现代 Intel 的实现中,指针只是一个无符号整数,NULL 为 0。您不能以这种方式存储“额外”的东西。

如果您需要从函数返回两个值,请创建一个包含 intbool 的结构,并让您的函数返回它。

关于c - 是否可以将有符号整数存储在整数指针 (int *) 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51580780/

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