int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int (*parr)[10] = &arr;
//prints address of arr and the value 1
cout << parr << " " << *parr[0];
//what is this doing?
parr++;
//prints (what looks like the address of arr[1]) and some long number -8589329222
cout << parr << " " << *parr[0];
Run Code Online (Sandbox Code Playgroud)
我认为parr ++会增加parr指向的地址,因此*parr [0]现在是*parr [1]的地址.我哪里错了?
你假设parr++增加一个单词.它没有.它增加的大小*parr,在这种情况下是一个int[10],所以它增加了10个整数的大小(可能是40个字节).