Program received signal SIGSEGV, Segmentation fault

c语言的小问题,纠结了我一会,归总还是自己这块不是太明白。

首先我们先看:

 int a;//这个是申明了一个int类型的数,实际开辟了一个内存空间给a,a由一个,地址值。接下来你操作a就不会有问题。
  int *a;//这样只是申明了一个指针变量,指针变量必须要指向地址,才能操作,否则就会报如题的错误。

      //所以就会出现下面两种操作地址方法
      int b;
      a = &b;//通过已经申明的变量的地址赋给指针变量
      a = (int *)malloc(sizeof(int));//为指针变量动态申请地址

以上可以说是比较容易忽略,上面代码简单,你可能还能看出来,如果几百行代码,你还能想到?

参考内容

你可能感兴趣的:(c语言)