首先,如果这个问题很愚蠢,我很抱歉 我是C / C ++的初学者
我的问题是:
为什么当我想指向像char
这样的char x = 'A'
变量时,我应该创建一个char数据类型的指针?喜欢这个(char * pnt = &x
)?我认为地址应该总是存储器中任何地方的整数,所以我的例子中的变量x在转换(65)到某个地址的二进制系统之后就像这种格式(01000001)一样存储在RAM中。所以有一个char的地址类型??
我不明白这个概念,有什么解释吗?
答案 0 :(得分:0)
这是因为C / C ++中的强类型。这是范例之一(python使用不同的范例),但唯一可能在C ++中。实际上,您可以使用有关指针类型的知识并在类型之间转换指针。使用static_cast,dynamic_cast等来做到这一点。此外,如果您使用C,您可以定义指向“某事”的指针 - void *。这个可以指向char,int或你可以想象的其他类型。注意:这种转变应该是有意识的。这可能是一个糟糕的建筑或其他麻烦的交汇点。