c++ - 数组和指针

标签 c++ arrays pointers

作为 C++ 的初学者,我很难理解指针和数组。我编写了以下程序:

int main (void){
int p[3]={0};
int * iptr = new int [4];

iptr++;
*iptr=2;
iptr++;
*iptr=3;

for (int i=0;i<4;i++){
    cout << "iptr: " << *iptr << endl;
    iptr++;
}

return 0;
}

但是我没有得到预期的结果。我希望元素 [1] 和 [2] 分别具有值 2 和 3。但是我得到的结果是:

iptr: 3
iptr: -842150451
iptr: -33686019
iptr: 0

谁能告诉我我的理解哪里出了问题?

谢谢 丹

最佳答案

As a beginner to c++ I'm struggling to understand pointers and array

任何人都可以给你的最好建议:不要。指针和数组不值得付出努力。使用像 std::vectorstd::array 这样的 C++ 工具,您的生活将会变得无比轻松。如果需要,请在掌握了其余语言后回来学习它们。

关于c++ - 数组和指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10127309/

相关文章:

c - 将数组元素添加到结构中的数组

c++ - [C++]查找分布(函数)指针的错误

C++11:防止将对象分配给引用

c++ - 带链表的快速排序

javascript - 通过 POST 的数组(Ajax)

C++:访问作为函数参数传递的双指针数组指向的变量值

c++ - 将指向结构的 void 指针或 memcpy 转换为新结构?

c++ - Gtest : mocking free function in a constructor

c - 解决指针转换警告

c - 关于char指针初始化