10-指针的加/减操作
变量地址(内存单元地址)的加减操作
代码实现
#include <iostream>
using namespace std;
int main() {
int n1 = 12, n2 = 87;
char c1 = '9', c2 = 'B';
cout << "n1:value = " << n1 << " address = " << &n1 << endl;
cout << "n2:value = " << n2 << " address = " << &n2 << endl;
cout << "c1:value = " << c1 << " address = " << &c1 << endl;
cout << "c2:value = " << c2 << " address = " << &c2 << endl;
int* pn = &n1;
char* pc = &c1;
cout << "pn: " << pn << endl;
cout << "pn + 1: " << pn + 1 << endl;
cout << "pn - 1: " << pn - 1 << endl;
cout << "pc: " << pc << endl;
cout << "pc + 1: " << pc + 1 << endl;
cout << "pc - 1: " << pc - 1 << endl;
*(pn - 1) = 367;
cout << "n2 = " << n2 << endl;
cin >> *(pn - 1); // runtime value
cout << "n2 = " << n2 << endl;
*(pc - 1) = 'K';
cout << "c2 = " << c2 << endl;
cin >> *(pc - 1); // runtime value
cout << "c2 = " << c2 << endl;
return 0;
}
运行结果
Visual C++ 2022

Question:分配的内存空间不是相邻的
(大学时上机操作指针,经常遇到程序报错情况,每每得各种排查一通;
后来工作了,很少能够操作指针了;
现在又能操作指针,其实,挺有趣的耶)
Dev-C++ 5.11





浙公网安备 33010602011771号