C++ 指向指针的指针的类型是什么?

C++ 指向指针的指针的类型是什么?,c++,C++,这可能有点奇怪,但我无法找到指向指针的指针类型的合理答案,例如char** 请记住,指针不是类型 保持在中间,指针不是类型 指针是一种类型,从某种意义上说,它是一类类型。但事实上,单词指针并没有指定任何特定类型。同样,指向指针的指针也不是类型。另一方面,指向char的指针是一种类型 考虑以下命题,这是正确的:“(指向类型的指针)是一个类型”。注意这个命题是如何递归的。因为“指向类型的指针”是“类型”,所以您可以用“指向类型的指针”替换“类型”,并最终得到以下命题,这也是正确的:“(指向(指向类型

这可能有点奇怪,但我无法找到指向指针的指针类型的合理答案,例如
char**

请记住,指针不是类型

保持在中间,指针不是类型

指针是一种类型,从某种意义上说,它是一类类型。但事实上,单词指针并没有指定任何特定类型。同样,指向指针的指针也不是类型。另一方面,指向
char
的指针是一种类型

考虑以下命题,这是正确的:“(指向类型的指针)是一个类型”。注意这个命题是如何递归的。因为“指向类型的指针”是“类型”,所以您可以用“指向类型的指针”替换“类型”,并最终得到以下命题,这也是正确的:“(指向(指向类型的指针))是类型”


所以,正如我所说,
char**
是一种类型。它属于指针类型的范畴。
char**
类型的对象指向
char*
类型的对象,该对象也是指针类型
char*
指向类型为
char
的对象,该对象不是指针类型

你可以把计算机RAM想象成一个有很多箱子的大仓库。定义新变量并设置其值时,如下所示:

char c = 'A';
cout << std::hex << pointer_to_c << endl;
您将创建一个新的框,放置在内存中的某个位置(例如,地址0x12345678)。其长度等于
char
datatype(1字节)的长度,其值设置为
'A'

之后,您可以创建一个新变量,它是指向
c
的指针:

char* pointer_to_c = &c;
在这里,您将创建一个新框,该框放置在内存中的其他位置(例如,地址0x1234567C)。其长度等于
char*
数据类型的长度(32位系统上为4字节),其值设置为
c
0x12345678
)的加法。
之后,您可以创建一个新变量,它是指向
指针\u到\u c
的指针:

char** pointer_to__pointer_to_c = &pointer_to_c;
在这里,您将创建一个新框,该框放置在内存中的其他位置(例如,地址0x12345680)。其长度等于
char**
数据类型的长度(32位系统上为4字节),其值设置为
pointer\u to\u c
0x1234567C
)的加法

您可以在“调试监视”窗口中查看指针变量中存储的地址,或将其打印到控制台或文件,如下所示:

char c = 'A';
cout << std::hex << pointer_to_c << endl;

我猜不能使用双指针。指向指针的指针是指向指针的指针。我认为我的重言式在这里没有帮助严肃地说,你觉得解释的哪一部分不合理?指针是一种类型。@101010双指针?你的意思是指向双精度的指针吗有些人称之为“遗留代码”