- #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);
- }