C++指针查询

标签 c++ pointers

这是我对 C++ 指针的非常简单的介绍性代码,

#include <iostream>

int main(int argc, const char* argv[])
{
    int *p = 0, numbers[5];

    *p = 10;
    *(p+1) = 20;
    *(p+2) = 30;
    *(p+3) = 30;
    *(p+4) = 40;

    for (int i = 1; i < 5; i++)
        numbers[i] = *(p + i);

    for (int i = 1; i < sizeof(numbers); i++)
        std::cout << numbers[i] << '\n';

    return 0;
}

我在 Xcode 中运行它,它显示“构建成功”,但给了我堆栈输出,但没有显示实际结果。

最佳答案

在取消引用之前使p指向一个有效的内存位置

p = 数字;

而且,以下内容不是必需的。

for(int i=1;i<5;i++)
    numbers[i]=*(p+i);

此外,i 在 for 循环中应该从 0 开始

关于C++指针查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19468545/

相关文章:

c - 如何使用带有解引用和加法的指针算术?

c++ - cpp中的模板

c++ - QDataStream operator << 抽象类的重载

c++ - 有人可以解释参数 void(*pfn)(void*) 吗?

c++ - 将 std::function 代理到需要参数数组的 C 函数

c - Malloc 、 Realloc 、 Memset : Struct pointers , char、int 数组

c++ - 将 .a 文件转换为 .dll

c++ - 指针 (*and) 语法引用

c - 如何评估 c 中的结构并通过指针变量给出输入?

c - scanf 到结构中的字段的问题