Marks是2指针数组,指向int的指针。
已为此阵列分配了内存
数组每个条目的内存大小是指向int指针的大小
应该只有2个地址属于此数组。
当我通过Marks [4]访问数组标记的第5个元素的地址时,我显然不访问为该数组分配的内存地址。
我正在访问哪个内存地址?它是一个随机地址吗?是否存储了值?为什么编译器不发出警告?
标记数组的第5个元素的地址为:0x7269467374706563
int main(int argc, const char * argv[]) {
int a = 10;
int* ptr_a = &a;
int** marks=new int*[2];
marks = &ptr_a;
std::cout << "PtR_a" << ptr_a[0] << std::endl;
std::cout << "marks" << marks[4] << std::endl;
return 0;
}