将指针数组初始化为空指针

Initializing Array of Pointers to nullpointer

你好 stackover 流社区,我正在尝试初始化两个空指针数组但在 Visual Studio 2013 上收到此错误:

Unhandled exception at 0x011C5E9C in 45CProject.exe: 0xC0000005: Access violation writing location 0x00000000.

这是我的代码:

    #include <iostream>

using namespace std;

int main(){

    int* a[10] = { nullptr };
    int* b[10] = { nullptr };

    *a[0] = 2;
    *b[0] = 4;

    cout << "a[0] = " << *a[0] << endl;
    cout << "b[0] = " << *b[0] << endl;

    return 0;
}

非常感谢!

你有一个指针数组。 *a[0] 表示“数组的第一个元素(是指针)指向的数据。自从您使用 nullptr 初始化它们后,它们不指向任何地方。这会导致您的访问冲突错误;

你将a[0]初始化为nullptr(0x00000000),然后*a[0] = 2;尝试在此位置写入,这会导致访问冲突。