指针与数组的关系
#include<iostream> using namespace std; int main() { //定义一个一维数组: int score[10]={1,2,3,4,5,6,7,8,9,10}; //分配字节: cout<<sizeof(score)<<endl; //打印: cout<<"&score[0]="<<&score[0]<<" score="<<score<<endl; //引用数组的元素 cout<<"score[0]="<<score[0]<<" *score="<<*score<<endl; cout<<"score[4]="<<score[4]<<" *(score+4)="<<*(score+4)<<endl; //定义指针变量: int* ps=score+5; //引用指针指向的内容 cout<<"*ps="<<(ps)[0]<<endl; int a=1,b=2; int* pa=&a; int* pb=&b; /**pa=*pa+*pb; *pb=*pa-*pb; *pa=*pa-*pb;*/ //pb=&a; //pa=&b; int temp=*pa; *pa=*pb; *pb=temp; cout<<*pa<<endl<<*pb<<endl; cout<<"a="<<a<<" b="<<b<<endl; int i=9; for(i=9;i<=10;i--) { cout<<"pc="<<score[i]<<endl; if(i==0) { break; } } }
打印数组首个元素.
cout<<"&score[0]="<<&score[0]<<" score="<<score<<endl;
中间的a=2 b=1 有三个方法进行转换.
int a=1,b=2; int* pa=&a; int* pb=&b; /**pa=*pa+*pb; *pb=*pa-*pb; *pa=*pa-*pb;*/ //pb=&a; //pa=&b; int temp=*pa; *pa=*pb; *pb=temp;
最下面的就是倒叙输出数组.
int i=9; for(i=9;i<=10;i--) { cout<<"pc="<<score[i]<<endl; if(i==0) { break; } }打印如下: