指针应该选择什么样的地址分配方法

指针应该选择什么样的地址分配方法?

这里是讲解手动分配地址方式:

1.正确方法:

#include <iostream>
using namespace std;
void main()
{
 int *p=new int;
 int *q;
 
 cin>>*p;
 while(*p!=0)
 {
  cout<<p;//输出的地址是随机的,符合设计要求
  q=new int;//new是C++中的,和C中的malloc效果一样
  p=q;
  cin>>*p;
 
 }
 cout<<*p<<endl;
}
可以进行随机的地址分配
/////////////////////////

2.错误方法:
#include <iostream>
using namespace std;
void main()
{
 int *p=new int; 
 cin>>*p;
 while(*p!=0)
 {
  cout<<p;//输出的地址是连续的,不符合设计要求
  p++;
  cin>>*p;
 
 }
 cout<<*p<<endl;
}
这里的地址分配是连续的,像数组那样连续的地址分配,这对程序不合理,运行出错

(作者:Lasuer)

发表评论

邮箱地址不会被公开。 必填项已用*标注