对于指向指针的指针不是很理解,有人能细细道来不,一定采纳正确的答案。

img


什么叫取消空指针对a的引用,为何这样不能输出这个数组的值。
有人解释下,顺便提供改正方案吗?

a是个指针,需要指向具体的实体,即指向具体的指针;这里初始化错误;
具体如下

#include <iostream>

int main()
{
  int** a=nullptr;
  int b = 0,*ptr;
  ptr = &b;
  a = &(ptr);
  int arr[5] = { 1,2,3,4,5 };
  int i = 0;
  for (int i = 0; i < 5; i++)
  {
    *a = &arr[0] + i;
    printf("%d", *(*a));
  }
  return 0;
}

你这个int * * a根本没有分配空间啊。所以不能给 * a赋值的啊