gpt4 book ai didi

c++ - 为什么有不同类型的指针?

转载 作者:行者123 更新时间:2023-11-30 16:50:41 26 4
gpt4 key购买 nike

首先,如果这个问题很愚蠢,我很抱歉我是 C/C++ 初学者

我的问题是:

为什么当我想指向char时像( char x = 'A' )这样的变量我应该创建一个 char 数据类型的指针?喜欢这个(char * pnt = &x)?我认为地址应该始终是内存中任何位置的整数,因此我的示例中的变量 x 在将(65)转换为某个地址中的二进制系统后以这种格式(01000001)存储在 RAM 中..所以有一个 char 的地址输入??

我不明白这个概念,有什么解释吗?

最佳答案

这是因为 C/C++ 中的强类型。这是其中一种范式(例如 python 使用不同的范式),但在 C++ 中是唯一可能的。实际上,您可以利用有关指针类型的知识并在类型之间转换指针。使用 static_cast、dynamic_cast 等来做到这一点。另外,如果您使用 C,您可以定义一个指向“某物”的指针 - void*。这个可以指向 char、int 或您可以想象的其他类型。注意:这种转变应该是有意识的。这可能是糟糕的架构或其他问题的征兆。

关于c++ - 为什么有不同类型的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42107403/

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