小C程序中的分段错误

4 c pointers segmentation-fault

我正在写一个C程序.它编译得很好,但是当我尝试运行二进制文件时,我遇到了一个seg错误.我运行gdb但是我在下一行遇到了问题

*total = a;
Run Code Online (Sandbox Code Playgroud)

问题出在代码的开头.这里是:

main(){
  int a[] = {1,1,1,0,0,0,0};
  int **total; //array of int arrays
  *total = a; //i.e. set total's first array to be a.
Run Code Online (Sandbox Code Playgroud)

我是C和指针的新手.任何帮助,将不胜感激.

Ern*_*ill 5

total指向指向pint 的指针.通过分配*total,您分配给p.但total尚未初始化,因此您将值分配到随机位置.你需要初始化total- 例如

int * p;
int** total = &p;
Run Code Online (Sandbox Code Playgroud)