#include<iostream>
using namespace std;
int main()
{
int *p=new int;
cout<<"未初始化的*p和p(int):"<<*p<<" "<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
*p=20;
cout<<"初始化的*p和p(int):"<<*p<<" "<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
delete p;
cout<<"删除后的*p和p(int):"<<*p<<" "<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
long *j=new long;
cout<<"未初始化的*j和j(long):"<<*j<<" "<<j<<" "<<j-1<<" "<<j+1<<" "<<endl;
*j=55;
cout<<"初始化的*j和j(long):"<<*j<<" "<<j<<" "<<j-1<<" "<<j+1<<" "<<endl;
cout<<"初始化的*p和p(int):"<<*p<<" "<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
p=NULL;
cout<<"NULL后的*p和p(int):"<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
j=NULL;
cout<<j<<endl;
return 0;
}
using namespace std;
int main()
{
int *p=new int;
cout<<"未初始化的*p和p(int):"<<*p<<" "<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
*p=20;
cout<<"初始化的*p和p(int):"<<*p<<" "<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
delete p;
cout<<"删除后的*p和p(int):"<<*p<<" "<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
long *j=new long;
cout<<"未初始化的*j和j(long):"<<*j<<" "<<j<<" "<<j-1<<" "<<j+1<<" "<<endl;
*j=55;
cout<<"初始化的*j和j(long):"<<*j<<" "<<j<<" "<<j-1<<" "<<j+1<<" "<<endl;
cout<<"初始化的*p和p(int):"<<*p<<" "<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
p=NULL;
cout<<"NULL后的*p和p(int):"<<p<<" "<<p-1<<" "<<p+1<<" "<<endl;
j=NULL;
cout<<j<<endl;
return 0;
}
本文详细解析了C++中未初始化指针、初始化指针、指针指向不同类型的变量时的输出,以及指针赋值、释放后的状态变化。通过实例展示了C++中指针操作的关键特性。
1478

被折叠的 条评论
为什么被折叠?



