将指针数组初始化为空指针
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;尝试在此位置写入,这会导致访问冲突。
你好 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;尝试在此位置写入,这会导致访问冲突。