指针、空指针、野指针使用的一些总结
两种指针初始化
#include<iostream>
using namespace std;
int main() {
int t = 5;
int* p = &t;
int* q = new int();
*q = 10;
cout << *p << " " << *q;
delete q;
return 0;
}
注意:delete p;会报错
delete 只能用来删除用new分配的空间。
当元素储存的是地址时:
#include<iostream>
using namespace std;
int main() {
int* p1 = new int;
int* p2 = new int;
p1 = p2;
cout << "p1的地址为:" << &p1 << ",p1储存的元素为:" << p1<<"\n\n";
cout << "p2的地址为:" << &p2 << ",p2储存的元素为:" << p2<<"\n\n";
int t = 3;
p1 = &t;
cout << "p1的地址为:" << &p1 << ",p1储存的元素为:" << p1 << "\n\n";
cout << "p2的地址为:" << &p2 << ",p2储存的元素为:" << p2 << "\n";
return 0;
}