设为首页 加入收藏

TOP

C++一维数组和指针的关系总结(二)
2013-09-26 20:01:41 来源: 作者: 【 】 浏览:413
Tags:一维数 指针 关系 总结

 

  关于*p++

  由于++和*的优先级相同,结合方向是自右而左,因此它等价于*(p++)。作用是:先得到p指向的变量的值(即*p),然后再使指向p的值加1.

  #include<iostream>

  using namespace std;

  int main(){

  int a ={1,2,3,4,5,6,7,8,9,10};

  cout<<"Please input 10 intergers: "<<endl;

  int i=0;

  int * p=a;

  while(p<a+10){

  cout<<*p++<<"\t";

  }

  cout<<endl;

  return 0;

  }

  #include<iostream>

  using namespace std;

  int main(){

  int a ={1,2,3,4,5,6,7,8,9,10};

  cout<<"Please input 10 intergers: "<<endl;

  int i=0;

  int * p=a;

  while(p<a+10){

  cout<<*p++<<"\t";

  }

  cout<<endl;

  return 0;

  }

  等价于

  #include<iostream>

  using namespace std;

  int main(){

  int a ={1,2,3,4,5,6,7,8,9,10};

  cout<<"Please input 10 intergers: "<<endl;

  int i=0;

  int * p=a;

  while(p<a+10){

  cout<<*p<<"\t";

  p++;

  }

  cout<<endl;

  return 0;

  }

  #include<iostream>

  using namespace std;

  int main(){

  int a ={1,2,3,4,5,6,7,8,9,10};

  cout<<"Please input 10 intergers: "<<endl;

  int i=0;

  int * p=a;

  while(p<a+10){

  cout<<*p<<"\t";

  p++;

  }

  cout<<endl;

  return 0;

  }

  *p++等价于*(p++);而*(++p)表示先使p+1,再取*p.

  #include<iostream>

  using namespace std;

  int main(){

  int a ={1,2,3,4,5,6,7,8,9,10};

  cout<<"Please input 10 intergers: "<<endl;

  int i=0;

  int * p=a;

  while(p<a+10){

  cout<<*(++p)<<"\t";

  }

  cout<<endl;

  return 0;

  }

  #include<iostream>

  using namespace std;

  int main(){

  int a ={1,2,3,4,5,6,7,8,9,10};

  cout<<"Please input 10 intergers: "<<endl;

  int i=0;

  int * p=a;

  while(p<a+10){

  cout<<*(++p)<<"\t";

  }

  cout<<endl;

  return 0;

  }

  运行上面的程序,结果将输出a 到a[11]的值,其中a[11]并没有定义。

      

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇欧拉回路解题实例分析 下一篇排序算法系列之合并排序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: