题
我所遇到的是下面给出的线
char *ch=(char*)3000
我想知道这行的意义......
没有正确的解决方案
其他提示
它看起来像指针,CH,被分配一个绝对的内存地址3000一般一个非常糟糕的主意,除非你在嵌入式系统上工作,没有分页,你知道的究竟的什么在存储器位置3000。
也许看到代码的其余部分是有关......点击
这指针可以是相对于段它在其中驻留(在Intel处理器)。在这种情况下,3000
可以简单地一个索引到该段,在程序中,在这里我们没有线前面定义
这取决于系统体系结构,环境,操作系统,编译器,代码的其余部分(和程序员...)。
这不是明摆着的吗?
的数值“3000”被转换为字符指针,即ch
被初始化为存储器地址3000(十进制)。
AFAIK,3000是没有特殊的地址/值,和在大多数情况下访问它会导致段故障或垃圾值。
如果你看到,在代码中,可能是它被错误地用来代替(无效*),说在你有密钥值对地图的情况下,该结果可以被铸造成在这种情况下的整数。
不隶属于 StackOverflow