[英]Why does this code give segmentation fault?
我写了一个小例子来测试我对指针和内存的理解,但是我确信这会起作用但是它给了seg错误...知道我做错了什么? 添加:我用其他代码运行此代码。
#include <iostream>
using namespace std;
struct Card {
int a;
Card(int a) : a(a) { }
};
int main() {
int **p;
int **p2;
int *a;
int b =3;
char ** cArray;
Card **c = new Card*[5];
for (int i = 0; i<5; i++)
c[i] = new Card(1);
a = &b;
for (int i = 0; i< 10; i++) {
p = &a;
// p2[i] = new int;
*(cArray + i) = "string";
cout << cArray[i]<< endl;
}
for (int i = 0; i< 10; i++) {
// p2[i] = a;
cout << *a << endl;
}
}
char ** cArray;
cArray
是指向指针的非主题指针。 你无法取消引用它。
*(cArray + i) = "string";
cArray
未初始化。 纠正这个。
char ** cArray = new char*[10];
cArray变量似乎没有初始化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.