【发布时间】:2017-02-08 07:46:29
【问题描述】:
首先,如果这个问题很愚蠢,我很抱歉 我是 C/C++ 的初学者
我的问题是:
为什么当我想指向一个像 (char x = 'A') 这样的 char 变量时,我应该创建一个 char 数据类型的指针?喜欢这个(char * pnt = &x)?我认为地址应该始终是内存中任何位置的整数,因此我的示例中的变量 x 在转换(65)到某个地址中的二进制系统后像这种格式(01000001)一样存储在 RAM 中.. 所以有一个 char 的地址输入??
我没有理解这个概念,有什么解释吗?
【问题讨论】:
-
在下面,它们都只是指向内存的指针,并且工作方式相同。类型系统是 C++ 顶层的一部分,它可以帮助您确保不会错误地将
int访问为float。内存本身无法区分。 -
通过这种方式,可以在编译时进行类型检查,并防止你(或至少它试图防止你)犯错。
-
所以有一个char类型的地址 NO.内存地址总是整数。这里,
char * pnt = &x表示变量pnt存储包含char 类型数据的内存位置的地址(始终为整数)。因此,不同的指针类型告诉编译器存储在指针指向的内存位置的数据的类型。