学习C ++指针会与以下代码一起进入核心转储,我真的不为什么吗?

伊莫泰
#include <stdlib.h>
int main(){
    int *array = new int[2];
    array[0] = 1;
    array[1] = 2;
    int ** dp = NULL;
    *dp = array;
    return 0;
}    

当我运行它时,细分故障(核心已转储)。g ++版本是

从/usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs中读取规范配置为:../configure --prefix = / usr --mandir = / usr / share / man --infodir = / usr / share / info --enable-shared --enable-threads = posix --disable-checking --with-system-zlib --enable -__ cxa_atexit --disable-libunwind-exceptions --enable-java-awt = gtk- -host = x86_64-redhat-linux线程模型:posix gcc版本3.4.5 20051201(Red Hat 3.4.5-2)

来自莫斯科的弗拉德

更改以下语句

int ** dp = new int *;

*dp = array;

甚至您也可以写一个声明而不是上面的两个声明

int ** dp = new int *( array );

也不要忘记释放分配的内存

delete dp;
delete []array;

至于您的代码,那么您尝试取消引用空指针。

考虑到C <stdlib.h>++中的C标头命名为<cstdlib>并且此标头未在您的程序中使用。因此,您可以将其删除。

该程序可能看起来像

#include <iostream>

int main() 
{
    int *array = new int[2] { 1, 2 };
    int ** dp = new int *( array );

    std::cout << ( *dp )[0] << '\t' << ( *dp )[1] << std::endl;

    delete dp;
    delete []array;

    return 0;
}

输出是

1   2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么要学习C?

来自分类Dev

C#:我可以学习XNA吗?

来自分类Dev

Q学习算法的C ++代码无输出

来自分类Dev

我应该在学习Swift之前学习一下object-c吗?

来自分类Dev

分段故障; 核心转储在我的代码 c++ 中

来自分类Dev

学习c从strtok中获取位置指针作为int

来自分类Dev

分段错误(核心转储)C ++-指针

来自分类Dev

学习C章堆和堆栈代码的困难方法

来自分类Dev

学习C章堆和堆栈代码的困难方法

来自分类Dev

学习C#,需要帮助来理解此代码

来自分类Dev

我应该学习iOS的Swift还是Objective C

来自分类Dev

完全被C ++迷失(第一周学习)

来自分类Dev

有一些错误,学习c(欧几里得算法)

来自分类Dev

为什么以下代码在C ++中是非法的

来自分类Dev

我刚刚开始学习使用C ++的链接列表。我正在尝试使用矢量创建一个链表。为什么此代码有问题?

来自分类Dev

我和一个朋友一起学习C语言动态分配malloc realloc。但是有一个问题。我想到记忆套

来自分类Dev

以下代码在C中做什么?

来自分类Dev

学习c,我的代码可以运行,但是没有显示打印?

来自分类Dev

为什么在我的C代码中不能将“ long long int”和“ int”一起使用?

来自分类Dev

C#学习将对象序列化为XML文件-为什么它不起作用

来自分类Dev

使用C#和XNA学习游戏编程是一个好主意吗?

来自分类Dev

分段错误(核心转储)-结构和指针--C语言

来自分类Dev

C:free():无效的指针异常终止(核心转储)错误

来自分类Dev

我需要学习什么框架才能使用Java或C ++制作电子商务Web应用

来自分类Dev

为什么此C ++程序无法处理异常并为负数提供核心转储

来自分类Dev

Unity:我是否必须学习其中一项或全部(C#,UnityScript)

来自分类Dev

以下哪个更适合学习C#:Visual Studio Express Web或桌面?

来自分类Dev

在以下代码的上下文中,为什么“ cout << c”是合法的而“ c =“ x””是非法的?

来自分类Dev

为什么以下代码使用`c ++ 03`而不是`c ++ 11`进行编译

Related 相关文章

  1. 1

    为什么要学习C?

  2. 2

    C#:我可以学习XNA吗?

  3. 3

    Q学习算法的C ++代码无输出

  4. 4

    我应该在学习Swift之前学习一下object-c吗?

  5. 5

    分段故障; 核心转储在我的代码 c++ 中

  6. 6

    学习c从strtok中获取位置指针作为int

  7. 7

    分段错误(核心转储)C ++-指针

  8. 8

    学习C章堆和堆栈代码的困难方法

  9. 9

    学习C章堆和堆栈代码的困难方法

  10. 10

    学习C#,需要帮助来理解此代码

  11. 11

    我应该学习iOS的Swift还是Objective C

  12. 12

    完全被C ++迷失(第一周学习)

  13. 13

    有一些错误,学习c(欧几里得算法)

  14. 14

    为什么以下代码在C ++中是非法的

  15. 15

    我刚刚开始学习使用C ++的链接列表。我正在尝试使用矢量创建一个链表。为什么此代码有问题?

  16. 16

    我和一个朋友一起学习C语言动态分配malloc realloc。但是有一个问题。我想到记忆套

  17. 17

    以下代码在C中做什么?

  18. 18

    学习c,我的代码可以运行,但是没有显示打印?

  19. 19

    为什么在我的C代码中不能将“ long long int”和“ int”一起使用?

  20. 20

    C#学习将对象序列化为XML文件-为什么它不起作用

  21. 21

    使用C#和XNA学习游戏编程是一个好主意吗?

  22. 22

    分段错误(核心转储)-结构和指针--C语言

  23. 23

    C:free():无效的指针异常终止(核心转储)错误

  24. 24

    我需要学习什么框架才能使用Java或C ++制作电子商务Web应用

  25. 25

    为什么此C ++程序无法处理异常并为负数提供核心转储

  26. 26

    Unity:我是否必须学习其中一项或全部(C#,UnityScript)

  27. 27

    以下哪个更适合学习C#:Visual Studio Express Web或桌面?

  28. 28

    在以下代码的上下文中,为什么“ cout << c”是合法的而“ c =“ x””是非法的?

  29. 29

    为什么以下代码使用`c ++ 03`而不是`c ++ 11`进行编译

热门标签

归档