目录
案例1
#include <iostream>
using namespace std;
void main()
{
char c[]="I LOVE YOU";
char *p=c;//p指向整个字符串,*p取第一个值
cout<<p<<endl;//I LOVE YOU
cout<<*p<<endl;//I
}
输出
I LOVE YOU
I
案例2
void main()
{
int a[5]={1,2,3,4,5};
a[3]=*(3+a);//a是第1个地址,往后移3个,就是第4个数。
cout<<a[3]<<endl;
cout<<*a<<endl;
}
输出
4
1
案例3
int a[]={1,2,3},*p=a;
*p++=5;(*p)++;
cout<<a[0]<<a[1]<<a[2]<<endl;
输出:533
解析:*p=a指p=&a[0]
*p++=5指*p=5,p=p+1,即a[0]=5。此时p=&a[1]
(*p)++就相当于a[1]++,即a[1]=3
a[2]不变
案例4
int a[2]={25,46};
int *p=a; (*p)++;
cout<<*p<<endl;
输出:26
案例5
int main(){
char *p="HELLO";
cout<<&p<<endl;//输出地址
cout<<p<<endl;//输出字符串
cout<<*p<<endl;//输出首字母
}
案例6
int main(){
int b=12;
int *a=&b;
cout<<&a<<endl;
cout<<&b<<endl;//输出地址
cout<<a<<endl;//输出地址
cout<<*a<<endl;//输出值
}