如何向指针数组添加元素? 我试图通过编写一些例子来理解C++中的指针。我尝试创建一个指针数组,但当我尝试向其中添加整数时,它无法正常工作。我想将0到9之间的整数添加到指针数组并打印它 int *array; array = new int[10]; for(int i=0; i<10; i++){ *array[i] = i; cout<<*array<<endl; } int*数组; 数组=新整数[10]; 对于(int i=0;i

如何向指针数组添加元素? 我试图通过编写一些例子来理解C++中的指针。我尝试创建一个指针数组,但当我尝试向其中添加整数时,它无法正常工作。我想将0到9之间的整数添加到指针数组并打印它 int *array; array = new int[10]; for(int i=0; i<10; i++){ *array[i] = i; cout<<*array<<endl; } int*数组; 数组=新整数[10]; 对于(int i=0;i,c++,C++,在数组中分配某物,否则您希望它如何保存某物。(除非您将其指向已分配的内存) 或者分配array=pInt,然后您可以使用它来保存值。array[i]=i 例如: #include <iostream> using namespace std; int main() { int *a; // int *b; // b= new int[10]; we can simply allocate it to 'a' directly // a = b;

数组中分配某物,否则您希望它如何保存某物。(除非您将其指向已分配的内存)

或者分配
array=pInt
,然后您可以使用它来保存值。
array[i]=i

例如:

#include <iostream>
using namespace std;
int main()
{
    int *a;
    // int *b;
    // b= new int[10]; we can simply allocate it to 'a' directly
    // a = b;
    a = new int[10];
    for(int i=0;i<5;i++)
        a[i]=i;
    for(int i=0;i<5;i++)
        cout<<a[i];
    delete[] a;
    return 0;
#包括
使用名称空间std;
int main()
{
int*a;
//int*b;
//b=新整数[10];我们可以直接将其分配给“a”
//a=b;
a=新整数[10];

对于(int i=0;i在
数组中分配某物,否则您希望它如何保存某物。(除非您将其指向已分配的内存)

或者分配
array=pInt
,然后您可以使用它来保存值。
array[i]=i

例如:

#include <iostream>
using namespace std;
int main()
{
    int *a;
    // int *b;
    // b= new int[10]; we can simply allocate it to 'a' directly
    // a = b;
    a = new int[10];
    for(int i=0;i<5;i++)
        a[i]=i;
    for(int i=0;i<5;i++)
        cout<<a[i];
    delete[] a;
    return 0;
#包括
使用名称空间std;
int main()
{
int*a;
//int*b;
//b=新整数[10];我们可以直接将其分配给“a”
//a=b;
a=新整数[10];

对于(int i=0;i而言,以下将执行您所描述的操作:

#include <iostream>

int main()
{
   int* array = new int[10];

   for (int i = 0; i < 10; ++i)
   {
      array[i] = i;
      std::cout << array[i] << std::endl;
   }

   delete [] array;

   return 0;
}
#包括
int main()
{
int*数组=新的int[10];
对于(int i=0;i<10;++i)
{
数组[i]=i;

std::cout以下内容将完成您所描述的操作:

#include <iostream>

int main()
{
   int* array = new int[10];

   for (int i = 0; i < 10; ++i)
   {
      array[i] = i;
      std::cout << array[i] << std::endl;
   }

   delete [] array;

   return 0;
}
#包括
int main()
{
int*数组=新的int[10];
对于(int i=0;i<10;++i)
{
数组[i]=i;

std::cout您为pInt分配了10个整数的内存,但没有为array分配任何内存。由于array没有分配任何内存,因此它无法保存数据。一种解决方案是只使用pInt变量。注意,如果您有
*array[i]=i;
则无需将*作为方括号[]取消对指针的引用。这样您就可以将该行替换为
pInt[i]=i;
那么如果调用
cout则为pInt分配了10个整数的内存,但没有为array分配任何内存。由于array没有分配任何内存,所以它无法保存数据。一种解决方案是只使用pInt变量。注意,这里有
*array[i]=i;
无需使用*取消引用,因为括号[]取消引用指针。因此,您可以使用
pInt[i]=i;
替换该行,然后如果调用
cout,则应将变量声明为

int *array=new int; 
试试这个

int *array=new int;
int *pInt = new int[10];

for(int i=0; i<10; i++){
  *array = i;
  cout<<*array<<endl;
}
int *array=new int[10];
int *pInt = new int[10];

for(int i=0; i<10; i++){
  array[i] = i;
  cout<<array[i]<<endl;
}
int*数组=新的int;
int*pInt=新int[10];

对于(inti=0;i,您应该将变量声明为

int *array=new int; 
试试这个

int *array=new int;
int *pInt = new int[10];

for(int i=0; i<10; i++){
  *array = i;
  cout<<*array<<endl;
}
int *array=new int[10];
int *pInt = new int[10];

for(int i=0; i<10; i++){
  array[i] = i;
  cout<<array[i]<<endl;
}
int*数组=新的int;
int*pInt=新int[10];


对于(int i=0;i
array
在没有初始化的情况下使用。行为未定义。您为
pInt
分配存储,但为
array
分配存储,然后尝试为
array
分配值。改用
pInt
。@NickyC.:我的解决方案有什么问题吗?@NickyC.:有人否决了我的解决方案请求离子随机……-\u-@coderredoc为什么命名我?
array
没有初始化。行为未定义。您为
pInt
分配存储,但为
array
分配存储,然后尝试为
array
分配值。改为使用
pInt
。@NickyC.:我的解决方案有什么问题吗?@NickyC:有人在随机否决我的解决方案问题……-\u-@coderredoc你为什么叫我?DV的原因?我不明白DV的原因…有人吗?嗯…可能?或者内存泄漏?拥有原始指针?不必要的变量?@NickyC:现在检查答案。希望有帮助..谢谢你的输入。@NickyC:是的,我们可以,但我刚才展示了操作清除空的
a
案例。是的,我会修改它。DV的原因??我不明白DV的原因…有人吗?嗯…也许?或者内存泄漏?拥有原始指针?不必要的变量?@NickyC:现在检查答案。希望它有帮助。。感谢您的输入。@NickyC:是的,我们可以,但我刚才显示了操作清除em“现代C++模式是使用<代码> EpthyRead <代码> >代替<代码> PuthSubje>代码>或代码> STD::IOTA(STD::开始(V),STD::结束(V),0);< C++ >方式是使用<代码> EpStRead < /COD> >代替<代码> PuxSuff< <代码>或 STD::IOTA(STD::开始(V),STD::(V),0);< /C> PTY代码