c++ 指向结构的指针 & 指针和数组

  • #include<iostream.h>
  • void swap(int &p1,int &p2)
  • {
  • int p;
  • p=p1;p1=p2;p2=p;
  • cout<<&p1<<endl;     //输出p1地址;
  • }
  • void main()
  • {
  • int a,b;
  • cin>>a>>b;
  • cout<<&a<<" "<<&b<<endl;     //输出a,b地址
  • swap(a,b);
  • cout<<a<<" "<<b<<endl;
  • cout<<&a<<" "<<&b<<endl;   //输出a,b地址
  • cout<<*(&a)<<endl;
  • cin.get();
  • }
  • 输入:2 4
  • 输出:
  • 0x0018FF44 0x0018FF40
  • 0x0018FF44
  • 4 2
  • 0x0018FF44 0x0018FF40
  • 4

 

  • 下面是一个应用关于指向结构数组的指针的例子:
  •   struct stu
  •   {
  •   int num;
  •   char *name;
  •   char sex;
  •   float score;
  •   }boy[5]={
  •   {101,"Zhou ping",'M',45},
  •   {102,"Zhang ping",'M',62.5},
  •   {103,"Liou fang",'F',92.5},
  •   {104,"Cheng ling",'F',87},
  •   {105,"Wang ming",'M',58},
  •   };
  •   void main()
  •   {
  •   stu *ps;
  •   printf("No\tName\t\t\tSex\tScore\t\n");
  •   for(ps=boy;ps<boy+5;ps++)       //讲boy首地址付给ps;
  •   printf("%d\t%s\t\t%c\t%f\t\n",ps->num,ps->name,ps->sex,ps->score);
  •   }

posted on 2013-09-07 20:45  此去经年~  阅读(265)  评论(0)    收藏  举报