gpt4 book ai didi

c++ - 任何类型的指针都可以指向任何东西吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:37 27 4
gpt4 key购买 nike

这个说法对吗?指针的任何“类型”都可以指向任何其他类型吗?因为我相信所以,仍然有疑问。

为什么要为确定类型声明指针?例如。 int 还是 char

我能得到的一个解释是:如果一个 int 类型的指针指向一个 char 数组,那么当指针递增时,指针将从 0 跳转position 到第 2 个位置,中间跳过 1 个位置(因为 int size=2)。

也许是因为指针只保存值的地址,而不是值本身,即 intdouble

我错了吗?这个说法正确吗?

最佳答案

指针可以可以互换,但不是必须的。

特别是,在某些平台上,某些类型需要与某些字节边界对齐。因此,虽然 char 可能位于内存中的任何位置,但 int 可能需要位于 4 字节边界上。

另一个重要的潜在差异是函数指针。
在许多平台上,指向函数的指针可能无法与指向数据类型的指针互换。

值得重复:这是特定于平台的

我相信英特尔 x86 架构对所有指针都一视同仁。
但您可能会遇到其他平台,但情况并非如此。

关于c++ - 任何类型的指针都可以指向任何东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19710601/

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