C++ 有人能解释一下这个指针指的是什么吗?

C++ 有人能解释一下这个指针指的是什么吗?,c++,arrays,pointers,C++,Arrays,Pointers,我遇到了一个素数生成器,他们在其中使用了这行代码 bool *numberlist = new bool[size+1]; 这创造了什么 该代码在for循环中也包含以下内容: numberlist[i*j]=true; 数字列表不是指针吗?如何像数组一样遍历它。变量numberlist包含一个指向大小为size+1的布尔数组的指针 您可以通过操作员[]访问元素。当您在内存中迭代boolean元素时,指针算法也适用于这里。在for循环中,您可以使用: (大小i=0;i编号列表[i*j]=tru

我遇到了一个素数生成器,他们在其中使用了这行代码

bool *numberlist = new bool[size+1];
这创造了什么

该代码在for循环中也包含以下内容:

numberlist[i*j]=true;

数字列表不是指针吗?如何像数组一样遍历它。

变量
numberlist
包含一个指向大小为
size+1
的布尔数组的指针

您可以通过操作员
[]
访问元素。当您在内存中迭代
boolean
元素时,指针算法也适用于这里。在for循环中,您可以使用:

(大小i=0;i{
std::cout变量
numberlist
包含指向大小为
size+1
的布尔数组的指针

您可以通过运算符
[]
访问元素。当您在内存中迭代
布尔
元素时,指针算法也适用于此处。在for循环中,您可以使用:

(大小i=0;i{
std::cout要分解它,第一行代码
bool*numberlist=newbool[size+1];

声明一个动态的BoOL数组,它的大小为[St++]。在for循环>代码>编号列表[i*j]=true;意味着元素i*j是真的。在C++数组中,一个指针“更具体地指向第一个元素的指针”(意思是每次我们使用表达式中的数组,实际上是使用指针)当我们使用大括号操作符([])访问数组的元素时,我们做了两件事。一个指针算术运算(因为数组顺序存储在内存中)和两个指针解引用指针(访问指针指向的值)。

要分解它,第一行代码
bool*numberlist=new bool[size+1];

声明一个动态的BoOL数组,它的大小为[St++]。在for循环>代码>编号列表[i*j]=true;意味着元素i*j是真的。在C++数组中,一个指针“更具体地指向第一个元素的指针”(意思是每次我们使用表达式中的数组,实际上是使用指针)当我们使用大括号操作符([])访问数组的元素时,我们做了两件事:一个指针算术(因为数组是按顺序存储在内存中的),两个指针取消引用指针(访问指针指向的值)在C语言中,数组和指针在很多情况下是可互换的。在第一段代码中,指针指向数组的第一个元素。在第二段代码中,指针访问相对于指针的
i*j
th bool值。因此,numberlist[ij]==*numberlist[ij]如果我理解了你的疑问,这可能是一个骗局。@Sharkum no
numberlist[I*j]=*(numberlist+(I*j))
;the
[]
运算符已经执行了指针解引用学习关于和关于C中的,数组和指针在许多情况下是可互换的。在第一段代码中,指针指向数组的第一个元素。在第二段代码中,它访问相对于指针的
i*j
th bool值。因此,numberlist[ij]=*numberlist[ij]?如果我理解你的疑问,这可能是一个骗局。@Sharkum no
numberlist[I*j]=*(numberlist+(I*j))
;操作符已经对